Content Management System Overview
The content management system is a general concept: from the commercial portal website news system to the personal weblog, it can be called a publishing system.
- Framework: it does not contain any application implementation. It only provides the underlying framework. A specific application requires secondary development, such as cocoon and vignette;
- Application: it is an application implementation oriented to specific types. It includes several subsystems such as news/Comment management, voting, forum, and Wiki. For example, postnukexoops;
However, in any case, before selecting a release system, it is most important to first understand your actual needs: it is very undesirable to try to copy your needs from the ready-made system. Access volume, permission control, and various functional requirements. After each module and function is clearer, you can find a similar implementation on the Internet: you will find that every step has been developed and developed, it is still in progress and development. If you do not have: Your requirements are too special, or you can try to break them down into smaller system combinations for implementation.
The content management system is separated into the following layers: different levels have different priorities.
- Background business Subsystem Management (Management first: Content Management): News entry system, BBS Forum subsystem, full-text retrieval subsystem, etc., for different systems to facilitate content entry by managers: WYSIWYG editing management interface and clear business logic: Permission control mechanisms of various subsystems;
- Portal System (performance first: Template management): Most of the final output pages are website homepage, subchannel/topic page, and the news details page is generally a combination of various background subsystem modules, this combination of publishing logic is very rich, and the portal system is responsible for managing the combined performance of these background subsystems;
- Frontend release (Efficiency First: release management): cache release for end users, and URL Design for search engine spider ......
Separation of content management and performance: Many complete sets of CMS systems do not separate various backend subsystems and portals, so that the template performance management on the portal layer is mixed with the content management logic of the news subsystem, and even the management of the BBS and other subsystems are very coupled, the entire system will appear very complex. In addition, the various subsystems of such a system are bound to death, and it is difficult to change the background module. However, if the content management logic of various subsystems in the background is separated from the performance/release of the foreground, there is only a data transfer relationship between the portal and various subsystems in the background: the portal only determines the data selection and performance of each subsystem in the background, and each subsystem in the background is very easy to plug and remove.
Separation of content management and data distribution: when designing a portal system, pay attention to cache friendly design: CMS background management and publishing mechanism, the "efficiency" issue should not be considered too much. As long as the design of the final page output is cacheable, the efficiency issue can be solved through a dedicated front-end cache server.
In addition to being used for the final browser, pay attention to the URL Design for search engine friendly: using URL rewrite redirection or path_info-Based Parameter Parsing, dynamic web pages are more like static directories in the form of links (URIs), so that website content can be indexed by search engines;
---------------------------------------------
| News management subsystem | BBS Forum subsystem | mall subsystem |
---------------------------------------------
| // Internal
| ---------- | --- // Volume <= business subsystem (part production)
|/| // Manage
--------------- | --------------- Li
| Topic production subsystem | Full-text retrieval subsystem |
--------------- | ---------------
/|/
------------------------- | ---------------------------------------------
// |/Frequency
--------------- Channel <= portal system (product assembly)
| Portal system |
--------------- Rationale
|
------------------------- | ---------------------------------------------
| Front
| Platform <= release system (distribution agent)
--------------- Send
| Foreground publishing system | deployment
---------------
//
//
------------------------------
| User's browser | search engine |
------------------------------
Here, I will summarize some of the materials found in the selection of the content publishing system as follows:
Selection of content management systems
Keywords: CMS Content Manage System
CMS Industry Research
Http://www.cmswatch.com/
Http://www.cmsreview.com/
Http://www.cmsinfo.org/
CMS discussion email list
Http://www.cms-list.org/
Commercial software and open-source projects:
Http://directory.google.com/Top/Computers/Software/Internet/Site_Management/Content_Management/
Recommendation: XML-based release framework
Http://cocoon.apache.org/
The specific implementation complexity may vary according to the requirements, but the larger the system, the more division of labor is required: content (data), performance (Template) and application logic (Program) separate and manage these three users as much as possible.
Portal-Portal System
Open source projects:
Http://jportlet.sourceforge.net/
Apache Software Foundation: Jakarta jetspeed 1.3
Jetspeed home page: http://jakarta.apache.org/jetspeed/site/index.html
Jetspeed Portlet API: http://cvs.apache.org/viewcvs/jakarta-jetspeed/proposals/portletAPI/
Http://www.liferay.com/home/index.jsp
Http://basicPortal.com/
Http://www.jahia.org/
Http://jporta.sourceforge.net/
Commercial software:
BEA WebLogic Portal-http://edocs.bea.com/wlp/docs81/javadoc/com/bea/Portal/model/Portlet.html
IBM WebSphere Portal http://www.software.ibm.com/wsdd/zones/Portal/
Oracle Portal developer kit-http://Portalstudio.oracle.com/
Others:
Psml http://jakarta.apache.org/jetspeed/site/psml.html
BEA: Web Logic portal 4.0 http://www.bea.com/products/weblogic/Portal/index.shtml
IBM: WebSphere Portal 2.1 http://www-4.ibm.com/software/webservers/Portal/
IPlanet: IPlanet Portal Server 3.0 http://www.iplanet.com/products/iplanet_Portal/home_Portal.html
ORACLE: Oracle 9i portal http://www.oracle.com/ip/deploy/ias/Portal/index.html
SAP Portal: http://www.iviewstudio.com/
Epicentric Portal: http://www.epicentric.com/solutions/products/efs/
Refer:
Wafer: Java development framework
Http://www.waferproject.org/index.html
Portal System development framework:
Http://udoo.51.net/mt/archives/000011.html
Advertising Management System
Keywords: Ad server
The separation of advertising systems and content can greatly reduce the correlation between systems.
Professional Industry Research websites:
Http://adres.internet.com/
Related vendors and open-source projects:
Http://directory.google.com/Top/Computers/Programming/Languages/PHP/Scripts/Ad_Management? IL = 1
Http://directory.google.com/Top/Computers/Software/Internet/Servers/Advertising? TC = 1
Http://www.jspin.com/home/apps/admanage? Cob = winedit
Http://www.scriptdex.com/dex/php_ad_management.shtml
Recommended:
Http://www.phpadsnew.com/strong functionality
Http://oasis.sourceforge.net/free based on logging and regular import of MySQL statistics, can load 0.5 million requests/more per hour
If you focus on the 3rd features of advertising, you can choose a third-party service:
Http://www.doubleclick.net/
Http://www.allyes.com/
Forum/Community System
Keywords: BBS Forum
Forum software introduction:
Http://directory.google.com/Top/Computers/Internet/Web_Design_and_Development/Message_Boards/
Recommended:
Http://www.phpbb.com/PHP + MySQL Open Source
Http://www.vbulletin.com/order/ PHP + MySQL with paid commercial support 85-160 $
Http://www.jivesoftware.com/products/pricing.jsp business forum system, 1000 $-2500 $ expanded applications with Knowledge Base
Http://yazd.yasna.com/features.jsp Based on Java
WYSIWYG editor
In terms of content entry management, what you see is what you get, which can greatly simplify the layout and layout requirements in the system.
The browser-based WYSIWYG (WYSIWYG) editor is the main consideration of editing tools in CMS design. Currently, it is implemented mainly by calling the built-in methods of IE or other browsers through JavaScript. The implementation based on ie5.5 is the most concise. Here is a complete example:
Building a wysiwyg html editor part 1/2
Building a wysiwyg html editor part 2/2
Main functions:
- Basic functions implemented through javascript: bold, italic, center, link addition, image addition, mode switching: switching between HTML and text Modes,
- Word spam code Filtering
- Image uploading interface: it is best to upload images using other independent modules.
Selection indicators:
- Independent from the server code: code is implemented only through JavaScript or client controls, which ensures the convenience of system migration in the future.
- Word spam code Filtering
Visual editor Daquan:
Http://www.bris.ac.uk/is/projects/cms/ttw/ttw.html
Recommended:
Http://www.aine.be/aynhtml/
Upload and build images/Files
Unstructured data such as images and files is better solved by using other services. This greatly simplifies the complexity of CMS itself.
Recommended:
File Upload:
Apache Commons project
Http://jakarta.apache.org/commons/
Imagej: Image Processing thumbnails and watermarks
Http://rsb.info.nih.gov/ij/