I made the software that has run my business since 2003 a free open source project recently. There is a variety of ways this project could help other CFML developers since it automates or makes visual many web development tasks that people are doing manually right now. I also provide documentation on how to build a full software stack with a fast/secure configuration on a Ubuntu 12.04 LTS minimal install, so the project can also be used just for building a secure server without using my CFML app.
Because Jetendo interacts with Linux OS, software & security more, it is only appropriate to use Jetendo on virtual / dedicated servers where you have root access.
The Jetendo project is about providing software that goes beyond definitions of "framework" or "CMS" to provide a complete server environment & workflow optimized for similar existing software alternatives, but it uses it's own approach to everything. We want to allow a web developer to setup a fully functional custom web site business with less complexity.
There are also many other remote APIs, open source projects, and Linux softwares integrated and automated that have already been done that solve common web development project requirements.
The software in a way that is reusable across dozens or hundreds of projects from a single installation of Jetendo in a single Java context and with a single copy of the database, so improvements can be brought to all your existing clients without causing extra work.
Here is a blog article summarizing some of the unique features of Jetendo CMS:
I've also described many of them below.
Built For Distributed Collaboration
Thanks to the documented virtual machine, scripted install / upgrade process, the use of version control, quick backup/restore features between servers, automated deployment and more, Jetendo CMS is designed not only to be programmed in a distributed way through Git version control, but also to be able to function in a distributed environment where many different versions exist, that can be upgraded over time.
I also wrote an article that is for anyone interested in getting more contract work / working together because I'd like to find others who share common goals to team up with:
Whether you are an independent developer or an established company, Jetendo CMS is ready to make you more productive.
Most of the public pages operate on data in memory as much as possible, instead of accessing the disk, so it's faster then most other similar software in the tests I've done, even though there are more features. Through the use of in-memory objects and partial object cache clearing for nearly features, Jetendo is able to not only perform faster, but also retain more of the cache when small changes to the data are made. This makes the admin features faster even when there are hundreds of sites, and thousands of records. Development has been optimized to reduce the amount of waiting as well.
Because Jetendo CMS is developed on a virtual machine through VirtualBox's shared folders feature, disk latency is more noticeable. We have rewritten nearly all of the code that accesses the disk to do the least amount of operations possible to minimize I/O overhead. This means Jetendo should perform just as fast on dedicated / SSD server configurations as it would on cloud/VPS environments, and on systems where the I/O is substantially slower.
We also use the newest & fastest Linux software available, and configure it to match the needs of a busy server running Jetendo CMS. You should be able to achieve a greater density of sites and handle more traffic using Jetendo CMS due to its efficient design than other platforms. We have sites with hundreds of thousands public pages that run just as well as small 5 page sites.
The attention to security in Jetendo CMS is beyond what other CMS software attempts to provide since Jetendo CMS factors in the surrounding software environment, not just it's own code. Not only does it define a good security configuration, but it attempts to enforce it over time through monitoring and automated self-repair.
Much of the Linux command line automation is done with PHP cron job scripts to isolate the processes that need root privileges from the Railo process for security reasons. This means that the Railo sandbox and AppArmor can be configured to the strictest settings to minimize risk if a server is partially compromised.
Database security is heightened by 99% of the queries implementing a custom SQL parsing and validation engine designed to prevent SQL injection mistakes and other problems through enforcing some conventions.
Advanced Debugging Features
Jetendo CMS throws many of its own exceptions to teach developers how to use the functions correctly. It also attempts to prevent and silence exceptions that are not important, so that development is more productive.
Implicit Scope variable access is treated like an exception thanks to integration with the Railo debugger. This helps to make sure your code is faster and more thread-safe, so you will have fewer bugs as a result of relying on this feature, and writing slightly more verbose CFML.
Railo + Linux Only
Railo developers using Linux are the target audience for Jetendo CMS since this software is exclusively written for Railo and uses many of its newest features. I know around half the CFML community is using Windows, but Windows won't be supported at this time.
Build Software Visually
One of the key features of Jetendo CMS, is the ability to create forms, manager interfaces, and other kinds of custom software visually using the "Site Options" system. This system supports validation, all common HTML form field types, recursive hierarchy, setting constraints, dynamic select boxes, email alerts, mapping email fields, user group specific forms and restraints, and more. I've found 90% of the back-end software no longer needs to be written from scratch in my daily work now.
Being able to rapidly create most of the custom interfaces you need on small projects greatly improves the profitability of a project and gives you time to work on innovating your business. Other frameworks and CMS applications often leave you having to write the bulk of the software yourself, so while theoretically, the resulting system could be really great on top of their platform, you have to become an expert to figure out how to do it.
Not only is this generated software fast to create, but it's generally going to have faster performance, be more bug-free, and have more features that you would have time to build otherwise because nearly all of my work is running on this system now, and I have made it able to support most of the variations you'd need in different kinds of interfaces.
This system integrates with the keyword search, site map, and URL routing system to allow standalone landing pages, modal lead capture forms, and more to be created from scratch in minutes.
Jetendo CMS's abstract tools enable you to do simple, predictable work to complete many of the projects you have found painfully tedious in the past.
A Complete Solution For Real Estate Web Sites
30% of the software is also written to support real estate web sites including processing RETS/IDX data feeds, directories, listings and search because that is my core business, but those features can be left disabled. Because you need to sign a contract with a REALTOR association to access this data, you won't be able to use these features immediately, and there is currently no documentation on how to set it up. If you're interested though, contact us.
Jetendo Is Not Perfect
While it does these things well, much of how to use it is not documented yet, nor is there any unit tests. However, there is a lot of in-context help, validation, and custom exceptions to help developers understand how to use it as they enter data into the forms. I do consider it "alpha quality software" because of this, and I work to fill in the obvious gaps much like the Railo project has done with being fast on features, slower on documentation. In the coming months and years, I'll be working to fill in most of the gaps. As users begin to get involved, it will have a proper release cycle, and training resources will be created to make it a great alternative to other platforms.
Commercial support is available
Whether you need help with installing, using or developing applications, my company, Far Beyond Code LLC
, is here to assist. If you can't get a fast enough answer through our available resources & free support, you can always pay us for consulting help or direct assistance on your project.
We also offer managed hosting
of Jetendo CMS, so designers and non-technical folks can benefit from the efficient platform we've built, without having to become server admin / programming experts.
We already work with many others on Jetendo CMS projects every day since all our work is done on this platform.
I believe in the future of CFML & Railo, and I hope new projects like Jetendo will help keep it growing. Thank you to all of you who also believe in CFML.