Slashdot Mirror


User: acostin

acostin's activity in the archive.

Stories
0
Comments
41
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 41

  1. Re:PHP is ok but... on PHP Usage in the Enterprise · · Score: 2, Informative

    As for maintainability,

    I have seen huge cumbersome application servers built around PHP that are a nightmare to maintain without having intimate familiarity with the code of the application server

    We have met the same problem indeed with PHP application, caused by the mix of application logic and presentation layer... PHP is good and very easy to setup and create a site, but maintaining a large PHP application can be *nightmare*.

    As we've met the same problems, we try to offer a free platform for a PHP MVC platform - Krysalis. Krysalis - it's a platform (inspired from Cocoon2) to allow content publishing using XML as the data representation mode and XSL to add the presentation layer on it. It also includes a MVC (Model View Controller) implementation to allow you to fit how web requests are served from your site.

    Krysalis includes some features for authentication, validation and dynamic XML generation, and also includes a lot of (what our marketing department likes to call) "enterprise level" code techniques - that is taglib code reuse (in the application logic and presentation layer), etc.
    As far as I know, we have closed to Struts in terms of taglibs and controller definitions, and we are continuing this way

    Another interesting features integrated in the Krysalis core are the caching mechanisms. Being a pretty abstract architecture where flexibility is a must and everything is defined using XML, we needed a very powerful way to transform those XML definitions into pure executable PHP code. We have started with PEAR cache but it was not up to the task, so we've come with our own cache implementation, that keeps the generated PHP code on the disk in a require (this way the generated file can be also compiled when using a PHP Accelerator).

    We have very large applications built on Krysalis (CMS systems or Intranets), and they are very easy to maintain even if they were hard to architect and create - as they use for 10 installation a single core and the differences in the applications are handled through smart Controller techniques - so we have a very powerful and usable way of separating the application logic from the presentation layer.

    Alexandru

  2. Re:These surveys are lacking on PHP Usage in the Enterprise · · Score: 1

    Hello,
    For both the Zend and InterAKT surveys, there are lots of raw numbers presented, but the interpretation is lacking.

    We know this is not complete, and we could do a lot of other cross-relevant filters, but the time was not enought unfortunately.
    We plan to release a new survey results in about one month, that will include the initial feedback obtained from the developers, and also will include some very interesting survey subresults.

    and then have the results compiled into a journal-quality article supported by graphs and raw

    Both our surveys can support other researches on the market, by providing them with numbers and graphs - backed up by real data.

    Alexandru

  3. Re:Hack-away on PHP Usage in the Enterprise · · Score: 2, Informative

    I know that you're somewhat joking, but I would have liked the market share questions from InterAKT to have included not just .NET, J2EE, or ColdFusion, but have also included other languages like Perl and Python (although Python is indeed the base language for Zope).

    We have indeed included comparision with Perl and Python (Zope) here
    It's in the "Why you've lost" section of the survey, as seen through the eyes of the PHP developer :)
    Alexandru

  4. Re:Why WOULD you use classes and objects? on PHP MySQL Website Programming · · Score: 1
    Hi, I have seen your site, and it seems that Komplete Lite could be able to help you, as it already has:
    • XSL/XSL core - generate dynamic XML trees from database or use your own trees
    • Separation of concerns (MVC - from Krysalis
    • Powerful content management (manage structure and content visually)
    • Skins (templates) - just write your own XSLs and you have a new look and feel for your site.
    • RSS automatic generation and importing
    • Nuggets
    • Lots of other goodies
    Download Komplete Lite from it's homepage. It requires a PHP 4.3.1 with domxml, domxsl and mbstring, but I assure you it worth to take a look.
  5. Re:PHP frameworks on PHP MySQL Website Programming · · Score: 1

    There is also Krysalis for XML/XSL application development (approach to PHP/MVC with the cocoon approach)

    And KompleteLite as a GPL CMS - Komplete Lite

    We have succesfully created very powerful applications that are *very* easy to maintaing thanks to the separation of concerns (www.mcti.ro, others)

  6. Re:Waiting for PHP users to wisen up on MySQL 4 Declared Production-Ready · · Score: 1

    Hmm, funny. For one you (rightly, IMO) criticize MySQL for lacking some nice features of "real" SQL servers, but OTOH you product is written in something as cumbersome as php.

    That's why we need a powerful database server. We never code $db->Begin(), $db->End(), we simply put our SQL queries in stored procedures, and PostgreSQL takes care of everything for us.

    Not all applications on the world require a very powerful transaction engine in the middleware. PHP is the best language for a large variety of dynamic websites, and not because it's extremely "cumbersome", but for the opposite.

    It has a lot of misses, but it's not Java nor Zope, and many likes it this way.

  7. Re:Waiting for PHP users to wisen up on MySQL 4 Declared Production-Ready · · Score: 1

    Hey,

    PHP libraries for emulating misses in the database already exist (even we have a commercial product called ImpAKT (extension to Dreamweaver MX) that knows how to cascade or restrict access from PHP ImpAKT 2 tNG homepage.

    However, this does not mean that those issues shouldn't be done in the database. I mean, I could write my own cascaded deletes, but how will those interfere with someone adding some other records in the database "in the same time"? Transactions imply that all complex data storage application logic will be included in the database, and not emulated from class libraries.

    Anyway, we get a good usage of MySQL as it is, just there's a lot of room for improvement.

  8. Re:Waiting for maturity on MySQL 4 Declared Production-Ready · · Score: 1

    I know, I know. 5.0 will bring them all to us.

    But as a software tools developer I am, I know what a software release schedule is :)

    So we'll just wait and hope for better support in the next versions ...

    Until then, our code will be divided in two - the clean PHP code for real databases and the big and ugly PHP code for MySQL databases.

    And like 4 years ago I was all for MySQL - "Why the hell do we need stored procedures and triggers? They only slow the database down". This is true, but also this make the software actually reach the client in time by helping you avoid coding extra tons of code for data storage tasks...

    Alexandru

  9. Re:Its Stable on MySQL 4 Declared Production-Ready · · Score: 1

    I can't get the query cache to work on our InterAKT website.

    I don't know why, maybe because we use a database statistics engine which connects to the same database to store site accesses, and maybe this invalidates all queries....

    We've never researched more, as the final caching system is of course the "cache on disk" one.

    Alexandru

  10. Waiting for maturity on MySQL 4 Declared Production-Ready · · Score: 5, Interesting

    We are also using MySQL for many web projects, but to create a complex CMS the future features in MySQL (that also exist in other current database systems - like postgreSQL and probably others) are needed.

    We have initially created Komplete - http://komplete.interakt.ro/ only for PostgreSQL, and our users attitude indicated us that MySQL should have been supported. So we are releasing now the Komplete Lite version (GPL), for MySQL - but it's a real pain to simulate subselects, real unions (emulated with temporary tables now), cascaded deletes and stored procedures.

    The speed is quite similar, but PostgreSQL is still much better for complex web applications.

  11. Re:Static page generators on E2 and LJ, Comparing Content Management Systems · · Score: 1

    1. There are very poweful online editors available as we speak (literally they are embedded as ActiveXs in MSIE and it's pretty easy to use them). The browser window can behave pretty much like dreamweaver/frontpage/word. (we have one, KTML2)

    2. This is true, but this also guarantees you data integrity (as this ia what relational databases usually do)

    Alexandru

  12. Re:Static page generators on E2 and LJ, Comparing Content Management Systems · · Score: 1

    Hi,
    I'am a great fan of Joel (fogcreek), but I'm not so much into the static CMS thing.

    Database based CMS are much interesting from many points of view, and allow you to do things that are impossible in the static approach (like personalized homepage, online editing, forums, etc).

    There is indeed a performance penalty, but with some skills it can be resolved. For example we (InterAKT), have developed the Romanian Misistry of Communications and IT using a complete database driven approach, together with XML/XSL generation. The system flexibility is that high, that we can reproduce this for any other site in a matter of days (and we're talking about a real complex CMS, check www.mcti.ro for details (all the site structure and content is database driven - menus, pages, article lists, polls, homepage layout, nugget list). The performance wasn't that high, a page being server in about 200-300 milis.

    So we were forced to create this cache approach, that was implemented only once, and which allowed us to serve pages in 12-20 milis. The cache compiles the URL parameters and if caches the output of those URL's on disk. When a new request with the same parameters is made, the premade file is served. (OOP zealots might call this "lazy instantiation" of the static version:). All this with the flexibility maintained. I doubt you can do this with the static page generators....

    If you want to find more about the technology, check : http://www.interakt.ro/
    Alexandru

  13. Re:InterAkt is developing a CMS on E2 and LJ, Comparing Content Management Systems · · Score: 1

    I am Alexandru COSTIN from InterAKT. We have indeed released a full fledged CMS that is used for eGovernment in Romania.

    Before throwing dirt in it, you should find out more about the solution, which is now pretty experimental and which is not released to the public yet.

    Our CMS is a leap forward in what we call Content Management, because it is based on a new approach: the Krysalis XML publishing framework (GPL). The framework (this is open source and it is still under heavy development) is one of the most powerful frameworks for PHP (it is inspired from Cocoon2, so I woun't use the word innovative, even if we have inside a lot of things that are not in the original cocoon approach).

    Krysalis allows code reuse and extensibility using taglibs, offers a great performance (many caching layers already implemented), and also allows people to separate the application login from the presentation layer.

    Together with Krysalis, we also ship KrysalIDE(non commercial version available for download), a powerful development environment designed to pipelined XML transforms.

    Those powerful tools and platforms, combined with our other (non XML) solutions (survey manager, mailing list application, WYSIWYG editor), allowed us to create a very powerful CMS, from scratch comparable with their 5-6 numbers figures.

    We are planning now to release a version of the CMS for free (XMLnuke would be a nice name, but it's already taken), and continue to improve it on the commercial side for a more powerful offering.

    The release will happen at the PHP International Conference 2002 this fall, so only after you'lll see it there you will be able to evaluate it.

    See more about us at http://www.interakt.ro

    Alexandru

  14. They might be stoned, our is for free on Konqueror's Javascript Continues To Improve · · Score: 1

    We have a very performant product, called Menus (not a very clever name) version that is GPL (that means you can use it anywhere on your websites, and it supports Konqueror, too. It also suport MSIE, NEtscape and Mozilla. It is engineered with DOM in mind and has a great flexibility.

    Menus 2.1 (that will be released shortly) will also incorporates Netscape 6.2 support and a dynamic Javascript tree menu.

    Please visit : http://www.interakt.ro/products/Menus for more details.
    --
    Alexandru COSTIN
    Product Manager
    http://www.interakt.ro/

  15. Poitless comparison - the problem is different on PHP Development Environments? · · Score: 1

    I am wondering if such a comparison can bring a real relevance for the PHP development community evolution to an improved level. I don't think that small nifty features will make PHP development a better choice for the real web developers, that need productivity and a framework for application development.

    During the last 3 years, all the editors have included nice and standard functionalities like: multi project support, code highlighting, autocompletion(even for your own functions), integrated debugger, integrated help, etc.

    But when it comes to programming dynamic websites, the tasks to do are pretty repetitive and boring and real programming is usually not needed. Usually you connect to a database, get some fields from a query and put them in a HTML table (repeating the procedure for each row or not). Usually you need to see the HTML output and to write some HTML code (preferable in a WYSIWYG editor).

    None of the current IDEs allow you to do this (except for Macromedia UD, which does not support PHP natively, but using our GPL extension PHAkt). Programming web application using one of them is a very complicated solution to the problem. You have to reinvent the wheel a zillion times in creating a lot of "form validation", "user authentication", "repeated regions" etc. code blocks, that are very particular, hard to use by others and unmaintanable.

    <paradigm shift>What we need is a powerful framework for developing PHP applications, something like .NET, a platform that will allow us to compete with the ubiquitous .NET and J2EE.</paradigm shift> (I love using this paradigm shift thing:). It has to support SOAP and the rest of the current communication protocols (UDDI, ebXML, etc) and has to provide some "already written and tested code blocks" for reuse.

    That's why we are developing and have released Krysalis - as an Open Source project. Krysalis aims to become what Cocoon is for Java. (if you don't know Cocoon, check http://xml.apache.org). A platform for writing web applications with a complete separation between the data, the application logic and the presentation layer. Of course, to do this, the most hyped and elegant way is by using XML and XSLT. The process is very simple, we use a sitemap that describes the possible requests to the server, some pipelines where we describes the succession of data gathering and transformations and then, for each request to the server (the server is Apache with PHP support) we execute the corresponding pipeline. That is, read the PXP file ( an XML that contains the application logic), execute it and retrieve the complete XML tree, then read the XLST files associated with the request and process the original XML tree with them. After all the XSLT processing is done, we print the output to the browser.(the output can be XHML or PDF or anything else if you provide a Serializer that will do the conversion from the last XML tree to the needed format).

    This way, might a site became a little harder to write, but maintaining it will be a piece of cake. The current alternation between application logic and HTML tags (presentation) is a real pain in the ass when you need multiple presentations (like HTML / PDF, like English version and German version, etc). Each time you make a modification in the application logic, you have to search all the places where that application logic block is used and correct them, too. Etc.

    How can Krysalis help me create my sites faster? Using taglibs. Taglibs are already written code sections that are included and parametrized in your files and which are converted to real PHP code at the execution time. We have already implemented taglibs for the SQL connection, form variables, authentication.

    Technically, Krysalis is also based on ADODB (php.weblogs.com/ADODB), and the PHP problems with way too many and different database connectivity APIs is solved.

    To get back to the current topic, what Krysalis need right now is an IDE. We are working on one (Krysal IDE), an editor that will allow you to develop Dynamic Websites with the same ease as you develop Web Services. To reach both the Windows and Linux community, we'll implement it Java (we know. Maybe it will be slower, but at the current hardware prices I don't think this makes a real difference). The rendering engine will be Mozilla (probably) as in the next 3 month it will be mature enough (we think). More, the Lite version will be also open source, so everyone will be able to use and improve it.

    Take a look at a current pre-alpha screenshot of Krysal IDE at http://www.interakt.ro/products/Krysalis/. The XML/XSLT part is not yet implemented, we have done only the dynamic XML generation and preview with a preliminary support for taglibs.

    That's what we think on PHP development. I would like to know how the slashdotters view this approach.


    Alexandru COSTIN
    Product Manager
    http://www.interakt.ro/ :: Engineering Your Desires
    +401 411 2610

  16. Re:My IDE on PHP Development Environments? · · Score: 1

    Thanks for the appreciations. We were VIM guys ourselves (we have even created a (yet another) made with VIM logo) until we have started InterAKT and needed some real productivity. Using our tools that generate code and let you parametrize it boosted our productivity and allowed us to deliver quality software development services.
    We are willing to continue our work on PHAkt & ImpAKT and we are working right now on a 2.0 version of both products.
    I don't think you'll see a Linux version of Ultradev, and the reasons are very simple. The HTML editor UD uses is a customized version of the M$ DHTML control. Porting it to Linux it's pretty impossible as I think it's based on MFC.

    Alexandru
    Product Manager
    http://www.interakt.ro/ :: Engineering Your Desires
    +401 411 2610