Elastic CMS Deployments with Amazon Web Services & Server Virtualization Technology by Reuven Cohen, Chief Technologist, hosted by Derek Anderson, Lead Developer, Enomaly Inc
"Elastic CMS deployment is a model that allows for a operating system to be packaged as a virtual appliance in conjunction to the core content management system components. As system requirements change the CMS can intelligently adapt itself with little or no human involvement.
"Applying the designs of Virtualization, Business Process Execution Language, SOA, Amazon Web services (EC2 & S3) with content management presents an opportunity for a virtual content layer, whereby enterprise content management is defined not as a monolithic repository but rather as a logical library of interchangeable self-describing & self replicating components based on established performance policies.
"This approach allows for content management systems that can be configured to scale across single servers, multiple physical servers, multiple virtualized servers, grids or a combination of all of the above, natively, without modification. The approach allows for even the simplest applications (CMS,CRM,Blog,Forum,etc) to be scaled to millions of users with little or no additional development work. As system requirements grow, so does your content management system, on the fly.
"This presentation will demonstration the elastic capabilities of the Amazon Elastic Compute Cloud (EC2), Amazon S3, Xen virtualization with open source CMS systems TYPO3, Alfresco and Drupal. Elastic server management will be provided by the Enomalism (LGPL) open source virtual server dashboard."
-- Abstract for Elastic CMS Deployments with Amazon Web Services & Server Virtualization Technology by Reuven Cohen, Chief Technologist, Enomaly Inc
The presentation was done by Derek, who likes to code when the snow gets deep up in Canada, eh. ![]()
Elastic computing provides web services via SOAP or other API to allow one to remotely provision and manage one's virtual appliance. [Definition: a virtual appliance is a pre-packaged guest operating system with optimized software to perform a specific function or support a specific process.] Essentially, infrastructure as a service. Virtualization combines the advantages of distributed, small, inexpensive computing with those of large, centralized servers.
Customers like having their own virtual box, and the hoster can be comfortable with the fact that each customer can have exactly the configuration they need, without version/patch conflicts, and if a customer does destroy their "box", all other customers are unaffected.
Virtually also provides some less than obvious advantages such as eliminating hardware incompatibility, having the production box be exactly the same as the development box, scalability and reliability/recovery.
Discussion of hard drive requirements - mainly an infrastructure issue to be considered. RAIS, SAN(?), S3, etc.
Now on reserve battery power; I'll publish now, and maybe update later.
Update...
Enomaly has developed vmcast to distribute VM disk images via RSS2 as an enclosure, much like a podcast can be syndicated. Enomaly's product is open source, so one can imagine many developers making a virtual machine using their own operating system [Linux or openBSD or netBSD or freeBSD or openSolaris or openVMS or, or whatever works best for them] distribution, optimized for their application with a complete stack from VM APIs to OS, database, file system, application and its APIs distributed, perhaps even updated or provisioned, via RSS as simply as getting a podcast today.
Derek gave a brief comparison of EC2 and Enamolism, and Luis Sala of Alfresco, who is an EC2 beta tester and Alfresco is an Enamoly partner, provided a demonstration of EC2.
Writing Joomla! Extensions by Joseph LeBlanc
Joomla! extensions are easy to build and even easier to distribute. They're the ideal method for incorporating existing PHP code into the Joomla! framework or adding new functionality. This session will cover the differences between the three extension types and when to use each. We'll also discover how a component, module, and plugin come together to create the Podcast Suite: a Joomla! based platform for publishing podcasts.
Next, we'll delve into the Daily Message component, which has very basic functionality. We'll then see what happens when we attempt to install it on beta 1.5. We'll also take a look at some of the new framework features 1.5 has to offer.
-- Abstract for Writing Joomla! Extensions by Joseph LeBlanc
Joe has tutorials on his website.
The next talk that I attended was (Joomla!) How do manage multilingual content within a CMS by Alex Kempkens.
"The topic of multilingual content within websites is getting more and more important. Most of the existing OS CMS solutions provide full UTF-8 support and a list of translations for the general static text used. A implementation of the multilingual dynamic content is far more complex and needs quite some knowledge from the developers. Joomla! found a solution which supports all dynamic extensions and simplify the integration for the 3rd developers.
"How this approach is implemented and can be used is part of the session. The possible concepts of versioning or generic content handling is described. In general the aproach to tag a version with a language flag works quite well but leaves the whole responsibility of handling the translations within the developers hand. As Joomla! is a project that has a huge number of extensions and a framework that is very much focused on this possibility to extend the core it would mean that all of the developers in the community must understand what is important in handling languages and different versions. To solve this problem a centralized concept which is extending the Joomla! database layer was implemented. This concept helps to achieve a kind of automatic translation for all Joomla! extensions using the standard DB-Klasses. The whole translation is still focused on manual translations and managing those different versions but the concept is captable to translate any dynamic content which is stored in the database.
"I like to present the concept of this approach during the session and discuss the pro and cons. May be there are some good suggestions how the concept can be improved and may be even generalized to be used in other systems as well."
-- Abstract for (Joomla!) How do manage multilingual content within a CMS by Alex Kempkens
Multilingual content does not stop at text, but must extend into all aspects of managing and presenting the information, text, images, help, etc. etc. Joomla! has been translated into over 70 languages. Localization goes beyond language, and includes formatting, date and currency standards, cultural allowances and the like.
Content dependencies, such as between an article and comments to that article poses problems in assuring the relationship, as well as assuring that the content at all levels remains relevant and accessible to the site audience.
Solutions include automated translators like
There were some discussion of Alfresco and Plone methods of handling localization. Alfresco, being more of an enterprise document manager relies on different instances of a document, and the core services provides the correct instance of the document for a given version to match the language of the user; Alfresco has been working with the European Commission on this capability to server their member nation citizens. Plone relies more on developer oriented solutions.
Each of these possible solutions have advantages, but none are complete. Any can make administration of the content easier, but none resolve all the complexities nor take away all the manual effort.
Alex then provided a demonstration of how Joomla! 1.5 implements the generic translator solution. One very nice thing, is that once the user has selected elements to be translated, one can then click on a member of that element [e.g. an article from the content element] and Joomla! provides the original content, with the translation provided in the editor, below the original.
Authentication in Joomla! 1.5 by Jason Kendall (CoolAcid) - Joomla! Development Work Group member.
Discussion on the evolution of authentication schemes within Joomla! v 1.5. The session focuses on the structure and details of Joomla! v 1.5 plugins, including developed solutions for Gmail, LDAP and OpenID, and a roadmap to build new schemes. An overview of several challenges and resolutions encountered during development will be discussed. It is of great interest to hear of real life experiences from other OSCMS projects. Those experienced or interested in authentication schemes are encouraged to please attend.
One can use multiple authentication schemes, both internal and external, such as LDAP and OpenID, and other plug-ins. Joomla! 1.5 will lstep through each scheme you're using to return successful access or prevent access if no authentication works; log provides an administrator with messages on why any authentication schemes couldn't be reached..
The "HELLO" "WORLD" and GMAIL samples showed the simplicity of the authentication scheme.
OpenID was the hardest to implement.
Other Schemes include:
Discussion of ACL approaches for integration and bridging with other plug-ins and applications.
Joomla! v 1.5 Templates by Amy Stephen, who is very excited by what Joomla! is doing for the world. Andy Miller (rhuk), the template lead, is also in attendance. Joomla! is released under the GNU/GPL. Amy is planning to talk about 10 templating options, but starts with the best starting point: planning the site, from why to the mindmap to the basic layout. Think about the content, and how they fit into Joomla!'s basic building blocks of Section > Category > Article.
Templating starts with configuring the modules in Joomla! from menus, to polls and whatever you need to meet your site plan.
There are many freely available third-party templates as well as template designers providing commercial templates. New in Joomla! 1.5 is a template override editor, allowing you to easily customize the template. Colours and page width are now paramters, making simple customization very easy. One can even remove the "Powered by Joomla!" legend, and, of course, replace the Joomla! logo.
It should be noted that the forthcoming v1.5 is backwards compatible with 1.0.x templates. There is a System - legacy plug-in for 1.5 that allows everything from 1.0.x to work with 1.5.
A template can be unzipped, with the parts put into the correct directory structure. The basic elements are index.php, template.css and templateDetails.xml that contains the metadata or description of the template.
A Joomla! community member has created a CSS Guide for Joomal!.
The component calls are the heart of the Joomla! template.
Joomla! can produce XHTML strict compliant code.
And the wonderful thing about 1.5 is that it produces search-engine and human friendly URIs.
Professional templating gets into Semantic CSS, Accessiblity, Mobile, [and more that I didn't get because I was typing, not paying attention]. ![]()
The BEEZ template from Angie Radtke and Robert Deutz provides an example of a 508-compliant template. Throughout the presentation, there was a very good discussion on accessibility.
Joomla! exposes everything such that one can completely change the output without touching the core, as the logic is completely separate in 1.5.
The template overrides feature is not just for accessibility, but to allow full flexibility in output, from PDF to mobile to media-specific print versions. Each module can be different. Various menu items can call different templates still, as in 1.0.x, without the template overrides.
Joomla! has evolved into a CMS that is very flexible: ease of use for the end users, and power for the developers and designers.
Munwar Shariff, the CTO of CIGNEX is presenting on "Learn, Customize and Use Alfresco ECM in 60 minutes". Munwar is the author of Alfresco Enterprise Content Management Implementation.
Munwar presented his agenda in terms of use cases, such things as knowledge mangement and collaboration.
The third session that I'm attending is "Taming the Beast: CMS integration on the desktop with CIFS, Office, Dreamweaver and anything else" using Alfresco, a true Enterprise Content Management System by Dr. Paul Holmes-Higgen, VP of Engineering, in from the UK, Luis Sala, Director of Solutions, and Roy Wetherall, one of Alfresco's engineers.
Alfresco was started two years ago as a professional open source company, focused on the ECM market, using Java, under the GPL, providing support and OEM services. They quite a bit different from the CMS companies here, in that they are much more centered in teh large enterprises, for internal business processes, as much as external web communications. The founders are John Newton, founder Documentum now owned by EMC2, and John Powell, formerly of Business Objects.
Alfresco does document management [content models, records management, digital asset management and imaging - think FileNet], content services [especially interesting is metadata extraction, workflow [JBPM] and rule-based processing], web content management on an enterprise scale - millions of documents. It provides web services APIs to hook into your SOA ESB. All of Alfresco is pluggable, so other workflow, rule-engines, etc can be integrated.
CIFS - common internet file system - provides a virtual file system. Think SAMBA. Anything that you can do on a MS Windows server, you can do through CIFS, such as virus scanning and briefcase sync. Paul is providing a CIFS demo, using the Alfresco web client.
Very simple, showing how to take an incoming image file, and create a PNG file-format thumbnail, with version control. Of course, behind the scene, this is using ImageMagik. This took about 10 seconds to write, with Paul explaining as he went. Of course, as with all live demos, something went wrong
Paul had created the rule in the wrong folder, but rules can be edited, and moved ot live in the correct folder.
Paul gave some other demos, showing how one can change document properties, and do workflow. And even this is uses CIFS, Alfresco works in a mixed environment of MacOSX and Linux. They are also working on NFS support. OpenOffice.org is running headless behind the scenes for this. They're working on video using FFMPEG. Flash tools exist, etc. etc. While the initial tools were focused more on MS formats, OpenOffice.org is being achieved, and easily done. For example, committing a file to Alfresco, can invoke versioning and automagically create both PDF & ODF versions.
Web content management works around virtualization and sandboxes. The sandboxes provide isolated work areas as a transparent layer onto underlying content with controlled workflow, previews and staging. One can even use CIFS against any sandbox. And Alfresco does integrate with PHP apps such as MediaWiki, b2evolution, Joomla, and others that we use.
The floor went to Luis, to provide even more demos to help us understand the concept of sandboxes and workflow for editing and approval, and to further show integration with things like Dreamweaver. Alfresco targets both the non-technical business user, and the web designer.
One interesting point was that Paul's demo was from his Windows laptop, while Luis' was from his Mac - each running an Alfresco instance, natively.
Roy should some PHP application integration. In these cases, the PHP web app, such as MediaWiki, is storing its content in Alfresco, not in its own database. Roy is experimenting with a PHP interpreter, 100% written in Java, making for some interesting extensions in such things as templating and standardization. Roy demo'd a query executor running remotely over web services with identical results whether through a PHP interpreter or Tomcat. This shows how extensions to a PHP app such as MediaWiki, can work other within the Alfresco JVM, or in a stand-alone MediaWiki installation, without modification. Think about that... it really is very exciting.
Overall, Alfresco is very impressive. It is a whole different level than CMS projects, such as Joomla. Bringing this type of enterprise power to small businesses, or extending vendor management from large enterprises into their SMB providers could be a powerful part of our TeleInterActive Network services. The versioning system of the PHP app works with the Alfresco versioning, unlike with, say, a MS Word document, where the Alfresco version is separate from the internal file metadata. Ah, the power of open source, open standards and open APIs.
Hagen Graf, author of several books and video tutorials on Mambo, Drupal, Joomla and CMS in general, is giving a general presentation on Joomla. There are several members of the core development team in the room, which is great. The current stable version, since 2006 December 25, is 1.0.12, with the 1.5 branch in beta.
The backend in Joomla 1.5 is heavily AJAXian, which should make it much easier to use. It also natively supports OpenID - another keen interest of ours. Development is moving along, and this summer, or certainly by Joomla's September birthday, should see a stable release. Joomla's birth date of September 2005, marks when Joomla was forked from Mambo, which has since been languishing under its corporate sponsorship. At the request of the audience, Hagen gave a demonstration of the Joomla 1.5 backend, from the source tree of three days ago. One can see the Mambo roots, if you're familiar with both CMS packages, but there is some ease of use evolution that is obvious. The templates can be made such that the CSS can be changed from within the backend.
There was also a discussion of some of the large Joomla run sites. One can find them at JoomlaPlace, and aee one at UN Western Europe HQ.
The Joomla community is very much made up of end users, and it's ease of use reflects this.
There was also a discussion of templating in various CMS systems. Joomla is designed, especially in 1.5, for accessibility [i.e. 508 compliance]. Thus, while one might think, that one can adapt a template for any CMS, one can't always achieve the same result in any CMS.
There was some discussion of the impression of Joomla vs. Drupal. Joomla, especially in Europe, is generally seen as more of a serious business tool that is very easy to use. To understand Drupal, you must live in Drupal 27x7.
Joomla has a plug-in architecture which, coupled with the high level of community support, allows for almost anything that can be accomplished on the web, can be accomplished with Joomla. This can lead to security issues, but Joomla has brought a secure architecture and best practices for its extension developers that help to mitigate this.
Hagen gave a very good talk, and with the attending members of the core team there and the general audience participation, we got a very good feel for Joomla.
Today and tomorrow, I'm at the Open Source Comment Management Summit 2007 - sponsored by Yahoo! and being held at the Yahoo! campus. Yahoo! is being a great host.
The first session included a welcome by Boris and Bradley, but the main talk was on web Performance and Security by the creator of PHP, Rasmus Lerdorf. It was truly eye-opening on the ease with which any web browser can be hacked. The best advice from Rasmus was to use one browser, such as Safari, for secure or sensitive sites [banking and the like] and another, such as Firefox, for general web browser. Rasmus' talk was one of the best I've attended at a conference such as this.
We're here to learn more about Joomla and Alfresco, and CMS/ECM in general.
Even though we're converting to all Apple all the time, we do have some Dell WindowsXP computers that we're still using. On one of these, the hard drive recently died. When I saw that I could get a Maxtor 200GB hard drive for $34.95 after rebate, I decided to replace the old hard drive with the new, and start over with it.
I feel like I'm in that Apple vs. Microsoft advertisement, where the security guy is standing behind the PC guy constantly asking for verification and permission.
The drive install wasn't bad at all. Unhook all the peripherals, pop open the tool-less case, unplug the IDE and power cables, squeeze the plastic rails, pull out the dead drive, unscrew four screws to detach the rails and attach them to the new drive, slide the new drive in, reattach the cables, and close up the patient. The patient, er, computer, recognized the drive with all 200GB right from the BIOS. Success.
I installed WindowsXPsp1 from the original CD, and that also went well, even the anti-piracy activation required by Microsoft - no hassles. Then I started the updates:
This is where I felt like I was in the commercial. At the end of the Office install, in the last dialog box is a link to get updates. I clicked it. And the cycle began.
Next will be to install any other programs used on that machine - first and foremost being Firefox and Acrobat. Then, I get to see if the last backups worked, and I can restore the content to the machine. Oh wait, no I can't. I still need to go back to Windows update website and click "Custom" to check for non-priority updates I may need or want, and I should check Dell for drivers and the like. Hmm, and I better check the DirectX version, and, and... /sigh
Maybe I should have just bought that Mac Mini [to keep using the relatively new monitor and other peripherals as opposed to an iMac]. I've gotten really accustomed to downloading and mounting the disk image [dmg], typing in the superuser password, dragging the application icon to the application directory icon, and watching the progress bar go quite quickly through its install, ejecting the dmg, backing it up, and done.
I think I deserve lunch, maybe even a nap.
The DSL at our home was out for several days. The worst thing about this is that the outage was the result of poor procedures at the "new" AT&T, and has hit several "legacy" accounts with static IP addresses on the Coastside.
As best as the three techs who were here [on separate visits] can figure out, the DSL operations center is performing a migration, moving ports from rbacks in Brass14 to Pleasanton. Unfortunately, they're doing this without regard to the type of accounts on those ports. Moving someone with a static IP address from one network [or subnet] to another is going to break the connection to the Internet, as those poor, forlorn packets of data no longer have a "map" to their gateway to the wild, woolly, web.
What's truly troubling is that there is no guarantee that this won't happen again tomorrow.
This Web Log (Blog) is intended as a discussion of the business processes, life choices, management challenges, wireless networks, mobile devices, collaboration software, social networks and technical issues facing organizations and individuals: distributed workgroups, digital lifestyle aggregation, telecommuting, road warrior and all ways in which you can live the TeleInterActive Lifestyle™. It is a service of InterActive Systems & Consulting, Inc.
InterActive Systems & Consulting, Inc. (IASC) performs research in the areas of data analytics, collaboration and remote access.InterASC Professional Services, a service mark of IASC, provides strategic consulting and project management for data warehousing, business intelligence and collaboration projects using proprietary and open source solutions. We formulate vendor-independent strategies and solutions for information management in an increasingly complex and distributed business environment, allowing secure data analysis and collaboration that provides enterprise information in the most valuable form to the right person, whenever and wherever needed.
TeleInterActive Networks, a service mark of IASC, hosts open source applications for small and medium enterprises including CMS, blogs, wikis, database applications, portals and mobile access. We provide the tools for SME to put their customer at the center of their business, and leverage information management in a way previously reserved for larger organizations.
| Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |