At the Forge - COREBlog
If you are looking for the open-source Weblog package with the simplest installation, and if you already are familiar with the Zope application server, you might want to consider COREBlog. COREBlog, written by Atsushi Shibata, is an actively developed Zope product, or plugin module.
Zope, as I have mentioned in previous installments of this column, is an open-source application server written and distributed by Zope Corporation. Zope is written largely in Python and is object-oriented, using an object database (ZODB) to store most of its core information. Zope development is quite different from other languages and application servers, and adjusting to its mindset can take some time and effort. But it also is quite flexible, making it easy for developers to add their own modules (products) to the system.
COREBlog comes as a standard tarball, which must be opened in the lib/python/Products directory under your Zope root directory. As of this writing, the latest version of COREBlog is 0.53b, which arrives on your system as a file named COREBlog053b.tgz system when you download it from www.coreblog.org. The following instructions assume that the environment variable ZOPE is set to Zope's root installation directory (/usr/local/zope on my system) and that the tarfile for COREBlog is in /tmp:
# cd $ZOPE/lib/python/Products # tar zxvf /tmp/COREBlog053b.tgz # chown -R zope.zope # Or appropriate owner/group
Restart Zope, either manually or from the Web interface in its control panel, and COREBlog automatically is added as an available product.
To use COREBlog, you need to create an instance of the product from the Add menu in the upper-right corner of the screen. Point your Web browser to the /manage URL on your site (for example, www.example.com/manage), and select COREBlog. You are asked to provide an ID (a unique name to appear in the URL), as well as a title (which appears as the name of the Weblog) and a character encoding (which defaults to ASCII and which I normally change to UTF-8, for full Unicode support).
At this point, the Weblog is almost ready to be unveiled to the world. We can view the Weblog using a URL that ends with the ID we assigned to it (for example, /atf), or we can administer it by appending the /manage path to that name (in our case, /atf/manage).
Because every posting in COREBlog must be associated with at least one category, we must create at least one category before we can begin to post. Indeed, a warning in red tells us we must add a category before continuing. A Categories tab resides on our blog management screen; click on it, and you are invited to add a new category. We also can rename categories and see how many postings are associated with each category.
Once we have created a category, we can click on the Entries tab and begin to enter new postings. Each entry consists of a minimum of a title, body and category. Other items are either optional or defaults to reasonable values, such as the current date and time. When you have finished posting an item to the blog, you can preview it (which I highly recommend) with the Preview button or publish it right away with the Add button. Once you have published the story, it is visible to the entire world. Anyone reading your Weblog can see the new posting at the top of the page.
But someone doesn't have to look at the top of the page in order to notice the new posting. The recent entries area of the sidebar contains links to each of the most recent postings. The calendar has a hyperlink to all of the postings made on a particular day. And clicking on the topic displays all entries on that topic. This works only for topics, though, not for subtopics.
The easiest way to customize COREBlog is to use the Web-based properties editing tool, labeled Settings. The Settings tab allows you to write and edit the content and behavior of the various pages on the site. For example, you can write a bit about yourself or your Weblog or indicate that comments are to be moderated by default. If you are interested in changing the fonts and colors in which your blog is displayed, click on the Skins tab to gain access to such information.
You can customize COREBlog further by modifying the DTML pages used to display output. In particular, you can change the sidebar (along the right side of the page) by modifying files in COREBlog/dtml/modules (under $ZOPE/lib/python/Products). These pages are written in DTML, Zope's original server-side templating language. The file index_html.dtml does nothing more than invoke and use each of the other files in the directory:
<dtml-var calendar> <dtml-var about> <dtml-var recent_entries> <dtml-var recent_comments> <dtml-var recent_trackbacks> <dtml-var categories> <dtml-var archives>
In order to change the order of modules or which modules appear at all, simply modify index_html.dtml. You also can create your own modules, write new DTML files and use the COREBlog API to retrieve information about what has been said and done on the blog.
Of course, because COREBlog is an open-source product, you can view and modify any part of it you like. To be honest, there isn't much to modify; most of the features in COREBlog probably are ones that you want to include in your Weblog. Given that the project is under active development, new features should be added soon.
Special Reports: DevOps
Have projects in development that need help? Have a great development operation in place that can ALWAYS be better? Regardless of where you are in your DevOps process, Linux Journal can help!
With deep focus on Collaborative Development, Continuous Testing and Release & Deployment, we offer here the DEFINITIVE DevOps for Dummies, a mobile Application Development Primer, advice & help from the experts, plus a host of other books, videos, podcasts and more. All free with a quick, one-time registration. Start browsing now...
- The Ubuntu Conspiracy
- A First Look at IBM's New Linux Servers
- Vigilante Malware
- Disney's Linux Light Bulbs (Not a "Luxo Jr." Reboot)
- System Status as SMS Text Messages
- Libreboot on an X60, Part I: the Setup
- Bluetooth Hacks
- Vagrant Simplified
- Dealing with Boundary Issues
- Linux and the Internet of Things