Extending Document Management in Alfresco 3

Exclusive offer: get 50% off this eBook here
Alfresco 3 Enterprise Content Management Implementation

Alfresco 3 Enterprise Content Management Implementation — Save 50%

How to customize, use, and administer this powerful, Open Source Java-based Enterprise CMS

£22.99    £11.50
by Munwar Shariff | July 2009 | Content Management Java Open Source

In this article by Munwar Shariff, we introduce you to the basic features of creating and managing content in Alfresco by using Alfresco Explorer. With Alfresco, you can manage any type of document, such as HTML, text, XML, Microsoft Office documents, Adobe PDF, Flash, scanned images, multimedia, and video files. This article also focuses on the most important aspect of adopting a new Enterprise Content Management system, which is migrating the existing data and using it effectively. We will also discuss the various secure ways of sharing your content online, by using syndication features.

This article covers the following topics:

  • Search and edit Alfresco documents directly from Microsoft Office tools
  • Recover deleted content
  • Create and use space templates
  • Migrate existing documents to Alfresco
  • Create and use discussions for spaces and documents
  • Enable RSS syndication in order to share content

 

Microsoft Office 2003 add-ins

For Microsoft Windows users, a natural way of working with the files is by using the Microsoft Office tools. It would be a tedious job for Content Managers to have to search and locate the documents using an Alfresco web client, copy them onto their local desktop, edit them, upload them to Alfresco, and secure them. How about having all of the features mentioned above in your choice of editor itself?

Alfresco provides Office add-ins for MS Word 2003, MS Excel 2003, and MS PowerPoint 2003, to allow them to manage the content directly from those tools. This improves the productivity of Content Managers.

Support for Microsoft Office 2007

Although the Alfresco add-ins were developed for Microsoft Office 2003, they are also compatible with Microsoft Office 2007.

If you are using Microsoft Office 2007 on Windows Vista, then the add-in is not effective, as it provides read-only access to the repository. Unfortunately, this is a known problem with Vista, as Microsoft has rewritten the WebDAV parts of Vista. You may consider the workarounds that are provided at the following URL:

http://blogs.msdn.com/sharepoint/archive/2007/10/19/known-issue-office-2007-on-windows-vista-prompts-for-user-credentials-when-opening-documents-in-a-sharepoint-2007-site.aspx

Installation

Download the Alfresco office add-ins (ZIP file) from the source forge web site, by visiting the following URL:

http://sourceforge.net/project/showfiles.php?group_id=143373&package_id=237030

An individual installer (for Microsoft Word, Excel, and Power Point), as well as a combined installer, is available for download. Select an appropriate add-into download.

Unzip the ZIP file and run the Setup.exe file contained within it. The set-up program will download the components that are needed, from the Microsoft web site.

Once the set-up is complete, you can open the Office tool and use the add-in. For example, for MS Word 2003, you will notice a new button named Alfresco. For MS Word 2007, you will notice the add-in, as shown in the following screenshot:

Extending Document Management in Alfresco 3

Configuration

Click on the Alfresco button to open the add-in window. You need to configure the add-in, by clicking on the link provided at the bottom of the add-in window.

Provide the URL details for the web client, WebDAV, and CIFS, as shown in the upcoming screenshot. No matter how you access the repository, you will still have to go through Alfresco's security rules. Provide the Userid and password for the purpose of authentication. The access to the Alfresco repository will be based on the authorization of the user.

Click on the Save Settings button to go the main screen. If you have more than one Alfresco server to connect to, then you might have to manually change the settings as needed. Currently, there is no facility for storing the settings for more than one Alfresco server.

Extending Document Management in Alfresco 3

Features of MS Word add-in

The Alfresco add-in allows you to carry out the following activities directly from Microsoft Word. Refer to the following screenshot for more details:

Extending Document Management in Alfresco 3

  • My Alfresco: Displays the My Alfresco dashlets
  • Browse Spaces: Browses the entire repository for spaces and files.
  • Search: Searches the repository for keywords.
  • View Details: Views the details of the selected document.
  • Workflow: Starts workflow for the active document.
  • Tags: Allows you to add tags to the document.
  • Transform to PDF: Transforms the selected MS Word document into PDF.
  • Insert into Word: Inserts the selected document into Microsoft Word for editing.
  • Save to Alfresco: Saves the current document to the current space. If the document has not been given a filename yet, then a pop-up panel will prompt you for one.

Editing a file in Word

To edit a file in Microsoft Word, double-click on the file name. The file is opened directly for editing. The MS Word file is locked for others, while it is being edited by you, as shown in the upcoming screenshot. You can perform all of the Alfresco repository activities, such as adding new tags and initiating a workflow approval process. Saving the file in Microsoft Word will directly save it in the Alfresco repository. If auto version is enabled, then it will be versioned automatically.

When you close the file in MS Word, or exit from MS Word, the file will be unlocked in the repository.

Extending Document Management in Alfresco 3

Recovering deleted content

When you delete an item (either content or space) in Alfresco, the item is not deleted from the server, but is moved to a temporary store called Archive Space Store. This gives you a chance to recover items that were deleted. Deleted items will be kept in the temporary store forever, until you decide to either recover or purge them. These features are available to administrators through the Manage Deleted Items action.

To test these features, log in as an administrator, create a couple of dummy files in any space, and then delete them. Click on the User Profile Icon  Extending Document Management in Alfresco 3 option, located above the menu item, and then click on the Manage Deleted Items button. The Manage Deleted Items pane appears, as shown in the following screenshot:

Extending Document Management in Alfresco 3

You can list all of the deleted content by clicking on the Show All button, as highlighted in the preceding screenshot. You can also search for deleted items by name, by content, by date, or by the person who deleted it, by using the search options provided. Select the item that you previously deleted, and then click on the Recover Listed Items icon, as shown in the preceding screenshot. You will notice that the item is recovered to the original space.

When an item is recovered, it is removed from the archive space store and moved to the original space from which it was deleted.

Purged items are deleted forever and cannot be recovered. Because the deleted items will otherwise be in the temporary store forever, it is a good practice to purge them periodically. It is also recommended that you take regular backups of your data.

 

Alfresco 3 Enterprise Content Management Implementation How to customize, use, and administer this powerful, Open Source Java-based Enterprise CMS
Published: June 2009
eBook Price: £22.99
Book Price: £36.99
See more
Select your format and quantity:

The Data Dictionary and space templates

The Company Home space is the root space. It contains sub-spaces such as Data Dictionary, Guest Home, and Users Home Spaces. Let's learn more about these sub-spaces:

The Data Dictionary space

The Data Dictionary space contains all of the user-managed definitions, as shown in the following screenshot:

Extending Document Management in Alfresco 3

Note that the Data Dictionary space is a shared resource. All of the scripts and templates provided in the Data Dictionary space can be defined by the administrators and can be used by the users. The Data Dictionary space contains the following sub spaces:

  • Email Templates: The Email Templates sub space contains email templates for notifying users of an invite to a space or document, and for sending notifications to users based on a rule or an action. Email templates are written in the FreeMarker template language, and will have the .ftl file extension.
  • Messages: The Messages sub-space contains message files, which are part of the content model. Message files are nothing but property files that contain multi-lingual messages to be displayed. One of the ways of customizing the messages is to include them in the <extension>/messages folder. However, this requires Alfresco to be restarted after they have been included. The message files added to this space do not require Alfresco to be restarted.
  • Models: The Models sub-space contains custom model files. As explained earlier, the model files added to this space do not require Alfresco be restarted.
  • Presentation Templates: The Presentation Templates sub-space contains presentation templates that are useful for consolidating and viewing content in different ways. Presentation templates are written in the FreeMarker template language and will have the .ftl file extension.
  • RSS Templates: The RSS Templates sub-space contains RSS templates, which are useful for providing RSS feeds for spaces.
  • Saved Searches: The Saved Searches sub-space contains pre-built queries which are saved by the user from the search results page. Each user will have their own private saved searches. This space will also contain all of the saved searches that have been publicly shared by users.
  • Scripts: The Scripts sub-space contains the JavaScript files that are used to perform certain operations on content.
  • Space Templates: The Space Templates sub-space contains space structures that can be used as templates for creating new spaces. Any space can be saved as a space template for future use for a space structure and for data. More about space templates is provided in the upcoming section.
  • Web Client Extension: The Web Client Extension sub-space contains dynamic web client customizations. This newly-added space simply provides an additional source for loading and overriding the web client configuration.
  • Web Forms: The Web Forms sub-space contains Alfresco Web Content Management (WCM) web form definition files.
  • Web Scripts: The Web Scripts sub-space contains new custom web scripts.
  • Web Scripts Extensions: The Web Scripts Extensions sub-space contains the web script files that are used to override the existing web script files.
  • Workflow Definitions: The Workflow Definitions sub-space contains workflow definition files. The custom workflow files that are added to this space do not require Alfresco to be restarted.

Space templates for a reusable space structure

In the earlier sections of this article, you created a marketing project in the Company Home > Intranet > Marketing Communications > Switch to open source ECM space. Let us assume that you are going to launch many such marketing campaign projects in your marketing department. Each marketing project space will have a similar structure, used to hold the project information. For example, your marketing project space has marketing templates, draft documentation, and approved marketing collateral. Moreover, each project will have a hierarchy of spaces, security settings, business rules, notifications, and workflows.

Instead of having to repeatedly create the same structure for each project, you can maintain a Marketing project template, and simply replicate it for every new project. Therefore, all the work that you do manually can be done in a few seconds, by simply using such a template.

To give you an idea, Company Home > Data Dictionary > Space Templates contains a built-in space template called Software Engineering Project, as shown in the following screenshot:

Extending Document Management in Alfresco 3

This represents a typical engineering project space structure, with sub-spaces for documentation, discussions, quality assurance, user-interface design, and project presentations. You can use the Software Engineering project template and keep on replicating it for every new engineering project. If the template does not exactly match your needs, then you can add or delete some spaces in the template itself.

Note that the Software Engineering Project template does not contain rules. This is because the rules will vary from one company to another (for example, because the workflow processes will vary). For your own company projects, adding rules and standard content will increase the value of the space template.

Creating a new space template for reuse

Carry out the following steps to create your own space template for your Marketing Projects, using the existing space structure:

  • Log in as an administrator and go to the Company Home > Data Dictionary > Space Templates space.
  • Click on the Create | Advanced Space Wizard link. The Create Space Wizard pane is displayed.
  • Click on the Based on an existing space option button, and then click on the Next button to go to the second pane, which is titled Space Options.
  • Navigate to and select the Company Home > Intranet > Marketing Communications > Switch to open source ECM option. Click on the Next button to go to the Space Details pane.
  • In the Space Details pane, enter an appropriate title (such as Marketing Project) for your space template, and then click on the Finish button to confirm.

    Extending Document Management in Alfresco 3

    You will notice a new space template called Marketing Project in Company Home > Data Dictionary > Space Templates. Examine the space structure.

Using an existing space template to create a new space

You can reuse the Marketing Project space template to create new marketing projects. To create a new Marketing Project, ensure that you are in the Company Home > Intranet > Marketing Communications space, and carry out the following steps:

  • In the space header, click on Create | Advanced Space Wizard.
  • The first pane of the Create Space Wizard is displayed. Click on the Using a template option button, and then click on the Next button.
  • The Space Options window of the wizard appears, as shown in the following screenshot:

    Extending Document Management in Alfresco 3

  • Choose the Marketing Project template, and then click on the Next button.
  • The Space Details pane of the wizard appears, as shown in the following screenshot.

    Extending Document Management in Alfresco 3

  • Specify your new project name, and then click on the Finish button to confirm.
  • You can now browse around your new space and compare it with the Marketing Project space template. You will notice that the space contents are identical.

Discussions on spaces and documents

Alfresco provides a special type of space called Discussion forums for collaboration. You can leverage the extensive security framework to provide access to these spaces in order to promote collaboration. You can also set up inter-departmental collaboration using spaces, allowing multiple people to work on documents within a particular space.

By using the collaborative features, the author of a document can invite others to work on the document and participate in general discussions about the document.

Discussion forums for collaboration

A Discussion forum is a web-based facility for holding discussions, also commonly referred to as Internet forums, web forums, message boards, discussion boards, discussion groups, bulletins, or simply forums.

In Alfresco, a forum space is special space that can contain other forum spaces or forums (discussion forums). A forum is essentially a space composed of a number of member-written topics, each comprising a discussion or conversation in the form of a series of member-written replies. These replies can be posted by group members, as defined by the administrator. In some cases, this can be done anonymously or, in the case of a secure forum, only by registered members. These topics remain saved on the web site indefinitely, or until they are deleted by a moderator.

To summarize, you can have one or more forum spaces in Alfresco. Each forum space can have one or more forums. Each forum can have one or more topics. Each topic can have one or more replies. All of the forums, topics, and replies are searchable.

Forum space

A forum space contains a discussion forum. As an example, create a forum space in the Engineering Department space by carrying out the following steps:

  1. Log in to the Alfresco web client and go to the Company Home > Intranet > Engineering Department space.
  2. From the Create menu drop-down list, choose the Advanced Space Wizard option, as shown in the following screenshot:

    Extending Document Management in Alfresco 3

  3. The Create Space Wizard window is displayed, showing multiple steps. From the options available, select the From scratch option, and then click on the Next button located on the right-hand side of the screen.
  4. You will see a window for step 2, which is to select space options. Choose Forum Space, and then click on the Next button, to view step 3.
  5. In step 3, provide a name for your forum (say Engineering Discussions), and then click on the Finish button.

Creating discussion forums in the forum space

You can create other forum spaces or discussion forums within a forum space.

Go to the forum space that was created above, which is named Engineering Discussions. When you click on the Create drop-down menu at the top, you will see options for creating forum spaces, or forums within a forum space, as shown in the following screenshot. Click on the Create Forum action, and create a few new forums.

Extending Document Management in Alfresco 3

Creating topics in the forum

You can create various topics within a discussion forum. The topics are a type of content item such as a plain-text item.

Click on a forum (say Alfresco Technology), and then click on the Create Topic button, to create a topic, as shown in the following screenshot:

Extending Document Management in Alfresco 3

Alfresco 3 Enterprise Content Management Implementation How to customize, use, and administer this powerful, Open Source Java-based Enterprise CMS
Published: June 2009
eBook Price: £22.99
Book Price: £36.99
See more
Select your format and quantity:

Replying to topics

Users, who have access to this topic can reply with messages. The users can also reply to the replies. There is no limitation on the number of replies. As an administrator, you can edit or delete a particular topic or post (reply).

Departmental forums and security

Forums and topics are types of spaces, and they are governed by the same permissions as other spaces. Users may be invited to the forums and the topics, through the assignment of certain roles.

The following table explains the roles and permissions for forums:

Role

Permission

Consumer

Can copy or view details (of the forum and its topics).

Editor

Consumer permissions, plus may edit posts (within topic)

May edit details of forum and topics.

Contributor

 

Consumer permissions, plus may create a topic in the forum

Can post to a topic or post a reply within a topic.

Coordinator

 

Consumer permissions plus may create a topic.

Can view or edit details of the forum and topics.

Can manage the space and the users of the forum and topics.

Can post to a topic and can cut or delete a topic.

Can post a reply or edit a post.

                   The following table explains the roles and permissions for topics:

Role

Permission

Consumer

Can copy or view.

Editor

Consumer permissions, plus may edit post

Can edit details of topics.

Contributor

 

Consumer permissions, plus may post to a topic/post reply within a topic.

Coordinator

 

Consumer permissions, plus may post to a topic.

Can post a reply.

Can edit a post.

Can delete a post.

 

When the option Inherit parent space permissions is disabled, no user can view the discussions unless explicitly invited. Even the Coordinators of the forum cannot see the topic. Those users who have been invited, have the access rights (as stated above), corresponding to their role.

Defining forums for groups within a department

By setting the appropriate security, each group within a department can have a discussion forum, and each project can have a separate discussion forum that is specific to that project. As a sample exercise, go to the Company Home > Intranet > Engineering Department > ProjectA space, delete the Discussions space and create Discussions as a forum space. Create a few project-specific discussion forums and topics. Invite various users to participate in the discussions, by giving them the Contributor role for the discussion forum. Test this by logging in as various users, and by participating in the discussions.

Inter-department collaboration through spaces

You can use the existing security framework to allow groups and individuals to access certain spaces and collaborate on content.

Managing space users

As an owner of a space, you can invite other users to your space to view, add, or edit content. On any space, the More Actions | Manage Space Users link shows a list of users that have permission to work on content in that space. You can click on the Invite link to invite individual users or groups, and assign to them the appropriate permissions.

Space collaboration through email

All users who have access to a space, can communicate using email. In order to send an email to the users of a space, click on the More Actions | View Details link, and then click on the Email Space Users action. As a result, the Email Space Users pane appears.

The groups and individual users who have access to this space are listed as email Message Recipients. You can choose to email the entire group or only certain users in the group, by expanding the group icon.

Starting a discussion on a specific space

You can start a discussion on a specific space directly, by clicking on the Start Discussion action, provided in the actions menu, as shown in the following screenshot:

Extending Document Management in Alfresco 3

Once the discussion has been started, you will see a discussion forum icon that can be used to view the discussions on the space.

Content collaboration

Similar to collaboration for a specific space, you can collaborate on individual content items as well. You can start a discussion for a specific document directly, by clicking on the Start Discussion action, which is provided on the actions menu.

It is always a good practice to start a discussion for a document in the workflow process. This allows various people to make and review comments, as well as capture all of the review data, as the document goes through various approval steps.

Owner invites individuals to collaborate on content

As an owner of content, you can give the Editor role to another individual, to allow them to edit the content. In the content's View Details screen, the Manage content users action provides a list of users that have permission to work on content.

The process for inviting users to collaborate on content is similar to that for space collaboration. However, the invited users should have the correct roles on the content and the parent space.

RSS syndication

In order to share the information in a space with external systems such as RSS feeds, you need to enable RSS Feed for that space.

Go to the details page of the News space, and click on the Enable RSS Syndication icon, as shown in the following screenshot:

Extending Document Management in Alfresco 3

A new window is displayed, enabling you to select the RSS template that is to be applied to the space as an RSS feed. The RSS templates are custom scripts that determine the content to be shown as feeds. Alfresco comes with a built-in standard RSS template, called RSS_2.0_recent_docs.ftl, which renders a valid RSS2.0 XML document, showing the documents in the current space that have been created or modified in the last seven days. Choose the default RSS template from the drop-down menu, and then click on the OK button.

In order for anonymous users to be able to view the news feeds, they must have read permission on the News space. This means that the Guest (anonymous) user must have the Consumer role (READ access) for this space, in order for the RSS feed to be publicly viewable.

This can be achieved by using the Manage Space Users dialog, and inviting the Guest user into the News space.

It is very important to ensure that the guest user has the consumer role on the space to view the RSS feeds of that space.

Using RSS feeds

Let us test the RSS syndication features on the News space. Once RSS feeds are enabled on a space, the RSS Feed Link icon is visible, as shown in the following screenshot:

Extending Document Management in Alfresco 3

By clicking on the RSS Feed Link, you can view the RSS feeds of the News space in the web browser. You can view the RSS feeds of the News space in any RSS feeds enabled web browser or RSS aggregator.

Version 7.0 of Microsoft Explorer has a built-in RSS feeds viewer. You can receive content automatically by subscribing to a web feed and specifying the interval, at which Internet Explorer should check the web site for updates. To view your feeds, click on the Favorites Center button, and then click on the Feeds link. This allows you to subscribe to feeds from Internet Explorer, and read them in other programs, such as email clients.

RSS templates

The news information that is displayed as an RSS feed is controlled by the RSS template. RSS templates are custom scripts written in the FreeMarker template language. All of the RSS templates in Alfresco are located in the Company Home > Data Dictionary > RSS Templates space.

You can either customize an existing template by editing it, or can add a new RSS template by clicking on the Add Content link that is provided, as shown in the preceding screenshot.

Migrating existing content into Alfresco

If you want your Enterprise Content Management initiative to be successful, then you need to make sure that you can move your existing content into the new system. Most enterprises will have content in the form of files (on local or shared hard disks), email attachments, faxes (for example, invoices), and scanned images. It is very important to move the content to a centralized and highly scalable content repository such as Alfresco.

Alfresco is a powerful Content Management System for the enterprise, and supports various ways of migrating existing content in the enterprise.

Drag-and-drop content to the network drive

You can drag-and-drop (bulk upload) content from your local hard disks to the Alfresco server by using options such as CIFS, FTP, or WebDAV. Refer to the Use network drives to manage content section in this article series, for details of how to move content from your hard disk to the Alfresco server.

The problem with this approach is that you will have to manually update the metadata (properties) of the content.

Using web services to migrate content

Alfresco provides a very rich web services API. By using this, you can transfer your files, as well as their metadata, to the Alfresco server.

Alfresco also provides RESTful Web Services (known as Web Scripts). By using these, you can easily migrate content to the Alfresco server. RESTful Web Script is a very suitable and flexible solution for integrating Alfresco with any other application, and will most likely be the best solution among all of the available options.

With the web services approach, the content, along with the properties, associations, and security settings, can be migrated efficiently.

The ACP Generator's bulk upload utility

The ACP Generator project provides a tool for bulk uploading content into any Alfresco repository. It reads custom content models, as well as a comma-separated values (CSV) list of required property and category values for each content item, and then creates an ACP file.

The syntax is as follows:

acpGeneratr arg1 arg2 arg3 arg4 arg5
Where:
Arg1: The path and filename of the custom model to be used.
Arg2: The path to the directory where the content to be imported is
located
Arg3: The destination path
Arg4: The content type we're dealing with
Arg5: The csv file of property values

Example:

acpGeneratr "D:PIERACPGeneratrsampleModel.xml"
ACPGeneratrcontent ..ACPGeneratrtestDestDir dm:gqa
"D:PIERACPGeneratrfaqlist.csv"

This will create the defined destination folder, and within it, a folder with all of the content and the required xml file. All you need to do is zip it into an ACP file, and import it to Alfresco. More details about this tool are provided on the Alfresco Forge site, at http://forge.alfresco.com/projects/acpgeneratr/.

Summary

This article covered the following topics:

  • Search and edit Alfresco documents directly from Microsoft Office tools
  • Recover deleted content
  • Create and use space templates
  • Migrate existing documents to Alfresco
  • Create and use discussions for spaces and documents
  • Enable RSS syndication in order to share content

You can customize various features of Alfresco, such as smart spaces, library services, and security, in order to implement your enterprise document management requirements. Various interfaces, such as web client, CIFS, FTP, and WebDAV can be used to manage the content in the Alfresco repository. The content can be edited on your local desktop, using your choice of content editors. The Microsoft Office add-in provides a more natural way of managing the content, and thus improves productivity.

You can enable discussions on spaces and individual documents in order to facilitate collaboration. You can enable RSS syndication to share information with external systems or users. Moreover, you can use various ways of merging your existing content into Alfresco, by using free tools and web services.

 

If you have read this article you may be interested to view :

About the Author :


Munwar Shariff

Munwar Shariff, as a co-founder and Chief Technology Officer at CIGNEX Datamatics, brings over 20 years of industry experience and proven technical leadership. He oversees the enterprise architecture solution team and provides strategic planning to achieve business goals by identifying and prioritizing technology-based services and solutions. Defining initiatives and setting timetables for the evaluation, development, and deployment of pioneering technologies are his areas of expertise.

He is an entrepreneur, open source technologist, and author of the following four technical books:

  • Plone Live
  • Implementing Alfresco
  • Alfresco3 WCM
  • Alfresco3 ECM

He contributes to the open source community by journaling submissions on open source CMS, and has been a featured speaker at AIIM USA, JBoss World, DAM Conference, Plone Conference, Linux World, Gilbane, CTC, Yahoo OSCMS, Saudi Government, and CA World.

Munwar has also served on board at the Plone Foundation and is currently a board member at CIGNEX Datamatics.

Books From Packt

Zend Framework 1.8 Web Application Development
Zend Framework 1.8 Web Application Development

eZ Publish 4: Enterprise Web Sites Step-by-Step
eZ Publish 4: Enterprise Web Sites Step-by-Step

Drupal 6 Content Administration
Drupal 6 Content Administration

Plone 3 Theming
Plone 3 Theming

ICEfaces 1.8: Next Generation Enterprise Web Development: RAW
ICEfaces 1.8: Next Generation Enterprise Web Development: RAW

Apache Maven 2 Effective Implementations: RAW
Apache Maven 2 Effective Implementations: RAW

Flex 3 with Java
Flex 3 with Java

Zabbix 1.6 Network Monitoring [RAW]
Zabbix 1.6 Network Monitoring [RAW]

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Resources
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software