Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Events
Videos
Audiobooks
Packt Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds

How-To Tutorials

7019 Articles
article-image-user-interface-enhancement-techniques-drupal-and-ubercart-2x
Packt
25 Mar 2010
3 min read
Save for later

User Interface Enhancement Techniques with Drupal and Ubercart 2.x

Packt
25 Mar 2010
3 min read
Improving the shopping cart Sometimes, the shopping cart is the most critical part of an electronic shop. The customer may add a lot of products in it, but if it's difficult to see its contents or to make changes, he or she will leave our store. If we improve our shopping cart, we can reduce cart abandonment and maximize our profit. Pictured cart module This module creates an enhanced version of the Ubercart cart block. The default version is rather basic with few options, but this module adds new and very useful functionalities: It shows the images of the products. It can be oriented horizontally or vertically. The user can sort the contents of the cart by name, quantity, or price. It shows extra content such as product description or attributes. To install it, browse to http://drupal.org/project/uc_pic_cart_block and right after you download the module upload it and unzip it to your site's /sites/all/modules folder and go to Administer | Site building | Modules to enable it. Then go to Home | Administer | Site building | Blocks, find the block named Pictured cart block and assign it to a region. Don't forget to disable the default cart block. To configure it, click on configure. Apart from the standard block options, you can define format and visibility settings of the cart. Ajax Cart module This module creates a different version of the default cart block. It uses AJAX, so when the customer adds a product to the cart, it updates its contents without reloading the page. Unfortunately, it is not compatible with the pictured cart module, so you have to select which one is better for your needs. To install it, browse to http://drupal.org/project/uc_ajax_cart and right after you download the module, upload it and unzip it to your site's /sites/all/modules folder and go to Administer | Site building | Modules to enable it. Then go to Home | Administer | Site building | Blocks, find the block named Ubercart ajax shopping cart and assign it to a region. Don't forget to disable the default cart block. To configure it, click on configure. There are not only the standard block options, but format and visibility settings as well. Terms of Service module This is a very simple module. It just adds a terms or service text in the cart or checkout page. The customer has to accept these terms in order to proceed. To install it, browse to http://drupal.org/project/uc_termsofservice and right after you download the module upload it and unzip it to your site's /sites/all/modules folder and go to Administer | Site building | Modules to enable it. To configure it, go to Home | Administer | Store administration | Configuration | Terms of Service. Select the page in which the terms of service will be shown, whether agreement is required, and a node that contains them, and click on Save configuration: You also have to enable the terms and conditions agreement pane, so go to Home | Administer | Store administration | Configuration | Cart Settings | Cart Panes.
Read more
  • 0
  • 0
  • 2377

article-image-content-management-modules-php-nuke
Packt
24 Mar 2010
10 min read
Save for later

Content Management Modules In PHP-Nuke

Packt
24 Mar 2010
10 min read
Each of these modules handles a different type of content, as is hinted at by their name, and each offers a different amount of functionality for visitors to interact with the content. We will see all of this, and also see how each module organizes the content it manages. Content The Content module, as the name suggests, simply handles content. The Content module is handy for adding general pieces of information to your site, which are not particularly time-sensitive or intended to generate discussion. The 'content' of the Content module is called a content page, and content pages may be organized into categories. Note that these categories have nothing to do with the categories created for news stories. In fact, several of the modules in this article will organize their content into 'categories', and there will be no relation between the categories of one module and the categories of another module. A content page consists of some main page text, a title, a subtitle, a header and footer, and another field, called the signature. The display of a single content page may be split easily across several web pages, with PHP-Nuke providing Next and Previous page links automatically. Content pages are ideal for holding general pieces of HTML text that need to be organized into groups or categories. Using the Content module to handle such information means that you do not have to create a new module just to display things like site policy or privacy policy documents on your site. Content pages are not searched by the Search module. There are no comment features or ratings available for Content content, and only the administrator may add pages; there is no place for user-submitted content here. In versions of PHP-Nuke prior to 7.5, there was a module called Sections, which was almost identical in functionality to Content, with the addition of an image for the categories. From PHP-Nuke 7.5, the Sections module is no longer shipped with the standard installation of PHP-Nuke, and we will not consider it any further. Like the other modules, the Content module is not activated by default, if you didn't activate the Content module before, do so now. Time For Action—Creating a Content Category We are going to use the Content module to add site 'policy' documents, in this case a site Privacy Policy. Log in as administrator. To access the Content administration area, click on the Content link in the Administration block, or click on the Content icon in the Modules menu: In the Add a New Category panel, enter the text Site Documents into the Title field. Enter the following text into the Description field: Here you will find a collection of documents about the site. Click the Add button. When the page reloads, there isn't much evidence that your category has been entered, but if you scroll down the screen to the Edit Category panel, you will find the category in the Category drop-down box: What Just Happened? We just added a content category. They are added from the Content Manager area of the administration area. The disconcerting thing is that it's difficult to tell if your category has been added successfully; there is no list of the content categories displayed in the Content Manager area. You will have to look in the drop-down box in the Edit Category panel to confirm that your category has indeed been added. Now we have a category, let's add some pages. Time For Action—Adding a Content Page In the Content Manager area of the administration area, scroll down to find the Add a New Page panel. Enter the title of the page into the Title textbox. In our case, this page will be titled Privacy Policy. Select Site Documents from the Category drop-down box. Enter the Dinosaur Portal Privacy Policy into the Sub-Title field. Next comes the Header Text. Enter the following into that field:This policy applies to all web sites and email services provided by the Dinosaur Portal. By using these web sites you consent to the general terms and conditions of usage and to the terms of this privacy policy. The Page Text field contains the body of the page. We'll enter the following: <h2>Collection of your Personal Information</h2><p>We will ask you when we need information that personally identifies you (personal information) or allows us to contact you. Generally, we request this information when you are registering before ordering products from theDinosaurPortal.com, downloading or viewing limited-access content, entering a contest, ordering email newsletters. In each circumstance we try to limit the information we request to the minimum required to deliver the service to you. We also use various standard technologies such as cookies to track user activity on our sites.</p><!--pagebreak--><h2>Use of your Personal Information</h2><p>We use your personal information for the following purposes...</p> There are two fields remaining, Footer Text and Signature. We'll enter this for the Footer Text:If you require any further assistance, please contact contact@thedinosaurportal.com and this for the Signature:the DINOSAUR PORTAL – Just because you've never seen one, doesn't mean they've all died out... Click the Send button. When the page reloads, the details of our first page are visible in the Content Manager panel, confirming its creation: Now click on the Content link in the Modules block, or go straight to http://localhost/nuke/modules.php?name=Content. You will see the list of content categories: Click on the Site Documents link, and you will see the list of content pages in this category: Clicking on the Privacy Policy link will take us to our document: Click the Next Page link to see the rest of the document: What Just Happened? We just added a content page, and then viewed the page. We assigned the content page to the Site Documents category when we created the page. It is possible to create content pages that do not belong to any category. The current list of content pages is shown in a table in the Content Manager area; we saw this screenshot at the end of step 11. When you visit the front page of the Content module, the list of categories is displayed. Only the categories that have content pages associated with them are displayed. Also, if there are any content pages not associated with a category, their titles will be listed here. Clicking on a category takes you to a list of the content pages associated with that category. This list is ordered by the date on which the pages were entered; the content page created first is displayed at the top of the list and so on. For each content page, the text entered into its Title field is displayed in this list, along with the Sub-Title in brackets. Clicking on the title of a content page will take you to display of the page itself. The following diagram shows this navigation hierarchy: Note that there is no direct link to go back from the content page to its 'parent' category. You will have to use the Back button of your browser to do this. You can get back to the list of all categories by clicking the Content link in the Modules block, but you will still need to click again on the category to display the list of content pages it contains. Returning to our privacy content page, we see that our content page has been split into two pages. This is done by inserting the text into the Page Text field, which forces PHP-Nuke to break the page at that point. The contents of the Page Text field form the body of a content page, with the Title and Sub-Title always displayed at the top. The Next Page pager is automatically provided by PHP-Nuke, and with that you can navigate through the pages of the content page. On the first page, the Header Text is displayed before the Page Text starts, and on the final page, the Footer Text is displayed at the end of the Page Text, followed by the Signature text. A copyright notice, including the site name, follows the Signature, and then there is the date the page was created, followed by the number of times the page has been read. Since we were still logged in as an administrator, at each part of this journey there are panels allowing you to edit the details of either the category or the content pages. For example, there is a panel for altering the category on the page displaying that category's content pages, in addition to a 'content page editing' panel on each page of the content itself: Any of these links can be used to change the object in question. Of course, these links are visible only to an administrator. No visitor will be able to see these links or access their functionality. Deactivating a page makes it invisible to a visitor from the list of available content pages, and the page will not be displayed even if the visitor manages to enter the URL of the content page. The administrator will be able to see a list of deactivated pages on the front page of the Content module (http://localhost/nuke/modules.php?name=Content) or in the Content Manager area of the administration area. Currently, our Privacy Policy document is at the URL http://localhost/nuke/modules.php? name=Content&pa=showpage&pid=1. To view this page, the visitor need not go through the entire Content 'hierarchy' if they are provided with a direct link. We could, for example, add a link to the Privacy Policy in the footer of our page, from the Web Site Configuration menu. The link would point to the above URL, and the reader would be taken directly to our document. The pid value of the query string is the unique identifier for this piece of content in the same way as we saw the story ID when looking at stories. This value will not change with subsequent modifications of the content page, or even moving it to another category. The Content Block The Content block is part of the standard PHP-Nuke installation, but isn't loaded. You can load this block from Blocks area of the administration area by selecting Content from the Filename dropdown, and choosing a title for the block as usually done for file blocks. Once the block is activated, it will display a list of the titles of all active content pages, with links to view each content page in full. Note that the Content block will still display the list of titles present in the content pages even if the user does not have read access to the Content module. Managing Categories Categories can be edited or deleted through the Edit Category panel in the Content Manager area. Simply select a category from the drop-down box and click the Edit button to go to the Edit Category page. Here you can edit the title and description of the category, or delete the category. Note that deleting the category does not delete the content pages associated with that category. All pages in a deleted category are preserved, but no longer belong to any category (they belong to the None category!). Special Administrator You can create a special administrator with rights to only the Content module in the Edit Admins menu of the Administration Menu. Restricting Access Access to the Content module is done on a 'whole module' basis. The visitor either sees nothing or everything. You cannot configure individual categories or content pages to be viewed by certain user groups. Points and Prizes There are no activities in the Content module that contribute any points towards a user's point score.
Read more
  • 0
  • 1
  • 3939

article-image-organizing-your-content-effectively-using-joomla-15
Packt
23 Mar 2010
8 min read
Save for later

Organizing your Content Effectively using Joomla 1.5

Packt
23 Mar 2010
8 min read
Building on the example site It's time to make room for growth. Your client has a big pile of information on ugly art that they want to present to the public. You are asked to design a site framework that makes it easy to add more content, while at the same time keeps it easy for visitors to quickly find their way through the site. Can you do that? You most certainly can! Joomla! allows you to build sites of all sorts and sizes, whether they consist of just a few pages or thousands of them. If you plan ahead and start with a sound basic structure, you'll be rewarded with a site that's easy to maintain and extend. In this article, we'll review the site you've just built and look at the different ways the content can be structured—and rearranged, if need be. Grouping content: A crash course in site organization To lay the groundwork for your site, you won't use Joomla!. The back of a napkin will do fine. Draw up a site map to lay out the primary content chunks and their relationships. View your site from a user's perspective. What do you think your visitors will primarily look for, and how can you help them find things fast and easily? Designing a site map To create a site map, first collect all information you plan on having on your website and organize it into a simple and logical format. As site maps come, this is a very basic one. For the most part, it's just one level deep. Introducing Ugly Paintings and Mission are basic web pages (articles). Activities is a section that allows the visitor to browse two other categories. Contact Us is a contact form page. This structure was good enough for a basic website, but it won't do if SRUP wants to expand their site. Time for action – create a future proof site map Let's make some room for growth. Imagine your client's planning to add an indefinite amount of new content, so there's a need for additional content containers. They have come up with the following list of subjects they want to add to their site: News items A few pages to introduce the founding members of SRUP Reviews on ugly art Facts on ugly paintings (history, little known facts, and so on) What's the best way to organize things? Let's figure out which content fits which type of container. Step 1: You'll probably want to create a separate News section. News should be a top level item, a part of the site's main menu.     Step 2: The information on the SRUP founders fits in a new section 'About SRUP'.   Step 3: Both Reviews and Facts can be categories in a new general section on 'Ugly Paintings'. The existing article 'Introducing Ugly Paintings' could be moved here (or dropped).     What just happened? You've laid a solid foundation for your site—on paper. Before you actually start using Joomla! to create sections and categories, create a structure for the content that you have in mind. Basically, no matter how big or small your website is, you'll organize it just like the example you've just seen. You'll work from top to bottom, from the primary level to the lower levels, defining content groups and their relations. Bear in mind, though, that there will certainly be more than one way to organize your information. Choose an organization that makes sense to you and your visitors, and try to keep things lean and clean. A complex structure will make it harder to maintain the content, and eventually—when building menus—it will make it harder to design clear and simple navigation paths for your visitors. Tips on choosing sections It can be useful to choose sections based on the main intentions people have when they come to the site. What are they here for? Is it to Browse Products or to Join a Workshop? Common choices for sections are: Products, Catalog, Company, Portfolio, About Us, Jobs, News, and Downloads. Try not to have more than five to seven sections. Once you have more than that, readers won't be able to hold them all in their heads at once when they have to choose which one to browse. Transferring your site map to Joomla! Let's have a closer look at our new site map and identify the Joomla! elements. This—and any—Joomla! site is likely to consist of five types of content. The following are the content types in our SRUP site map:   Obviously, the top level item will be the home page. The main content groups we can identify as sections and categories. This small site has four sections, three of which contain two categories. Each of the categories hold actual content: this is what will end up in Joomla! as articles. In this site map, there is one article that doesn't really belong in any category: the Mission Statement page. Every site will have one or two of those independent articles. In Joomla!, you can add these as uncategorized articles. Finally, there's one item that represents a very different type of content. In the site map above, a grey background indicates an item containing special functionality. In this case this is a contact form. Other examples are guest books, order forms, photo galleries. Basically, that's all there is to a Joomla! site. When you've got your site outlined like this, you won't meet any surprises while building it. You can transform any amount of content and functionality into a website, step by step.   How do you turn a site map into a website? If you've got your site blueprint laid out, you probably want to start building! Now, what should be the first step? What's the best, and fastest, way to get from that site map on the back of your napkin to a real-life Joomla! site? In this book, we'll work in this order: Organize: Create content containers.You've seen that much of the site map we just created consists of content containers: sections and categories. In this article, we'll focus on these containers. We'll create all necessary containers for our example site. Add content: Fill the containers with articles.Next, we'll add articles to the sections and categories. Articles are the "classic content" that most web pages are made of. We should also check for articles that do not belong in any category. Instead of assigning them to a section and a category, we'll add them as Uncategorized content.. Put your contents on display: Create the home page and content overview pages.Next, you'll want to guide and invite visitors. You can achieve this using two special types of pages in the site map, the home page and Joomla!'s section/category overview pages ("secondary home pages"). Make everything findable: Create menus.The top level items in your site map will probably end up as menu items on the site. To open up your site to the world you'll create and customize menus helping visitors to easily navigate your content. And what about the special content stuff? You'll notice that in the above list we've summed up all sorts of "classic content", such as articles, home pages, overview pages, and menus linking it all. We haven't yet mentioned one essential part of the site map, the special goodies. On a dynamic website you can have more than just plain old articles. You can add picture galleries, forms, product catalogues, site maps, and much, much more. It's important to identify those special pages from the beginning, but you'll add them later using Joomla!'s components and extensions. That's why we'll first concentrate on building a rock-solid foundation; later we'll add all of the desired extras. Let's start with step one now, and get our site organized! Creating content containers: Sections and categories To create a section, navigate to Content | Section Manager | New. To make a new category, you'll use the Category Manager instead. Just add a title for your new section or category and click on Save. You've created a perfectly workable section or category with the default settings (or parameters as Joomla! likes to call them). Time for action – create a new section and a category Your client was happy with the initial site structure you designed, but now their website is evolving, there's a need for more content containers. Let's add a news section first: Navigate to Content | Section Manager and click on New. In the Section: [New] screen, fill out the Title field. In this example, type News: Leave the other values unchanged; click on Save. You're taken to the Section Manager. The News section is now shown in the section list. Now, add a category to the new section. We'll call this category General News: Navigate to Content | Category Manager and click on New. In the Title field, type General News. In the Section field, select News. Click on Save. You're done!
Read more
  • 0
  • 0
  • 4610

article-image-drupal-6-performance-optimization-using-db-maintenance-and-boost-part-2
Packt
23 Mar 2010
5 min read
Save for later

Drupal 6 Performance Optimization Using DB Maintenance and Boost: Part 2

Packt
23 Mar 2010
5 min read
Testing your Boost configuration Now we're going to test out our Boost configuration and make sure everything is working with our initial basic settings and the .htaccess configuration that we're running. Log out of your website in your current browser or open up another web browser so that you can browse around your site as an anonymous user. The main thing we want to check on is that our static HTML type files (our Drupal pages or nodes) are being cached and stored in the cache directory we have specified in the module configuration. If we chose to use a GZIP compression, we will want to check to make sure the ZIP files are being generated and stored. Also, run your Status report and view your log entries to check to see if any errors related to the module configuration are being thrown. You should start noticing a performance boost on your site immediately, as you browse around your site. Start clicking around and opening different nodes on your site and admire the faster performance! You should notice it. If we check the cache directory on our site, we should notice that the Boost module has started writing HTML files to our cache directory. In the directory you should now see the following folders: /cache/normal/variantcube.com/fire/node Boost has automatically created a new folder called /node where it will store the cached HTML versions of the Drupal pages it loads. For example, if we look into our /node directory, we should see a bunch of HTML files that have been cached while we've browsed anonymously on our site. You can almost see this happen in real time if you browse to a page and then immediately refresh your remote server/ site window in your FTP client (while in the /node folder). I see the following files corresponding to their Drupal nodes: 201_.html202_.html203_.html206_.html208_.html These correspond to: node/201node/202node/203node/206node/208 Also, at the root of our /fire directory, we should see any non-node pages (for example, pages created using Drupal Views module). In our case, our main Photo gallery View page has been cached: photo_gallery.html. This page corresponds to our photo_gallery View page. You can immediately see the power and flexibility of this module by inspecting your cache directory. You should notice a performance increase on all of these cached pages because the pages that are loading are now your Boost-powered HTML pages. So, multiple clicking on one Drupal node should demonstrate how quickly your pages are now loading. The module has created another folder in your /fire/cache directory called perm. The /perm folder contains your CSS and JS files as they are cached. If you look in this folder, you'll see paths to the following folders: /cache/perm/variantcube.com/fire/files/css/cache/perm/variantcube.com/fire/files/js If you look in your CSS directory, you should see cached versions of your CSS files, and if you look in your /js directory, you should see a cached version of your JavaScript. Another method of checking the module is working correctly is to view source on your pages (by viewing source in your web browser) and see if the following code is being added to your HTML output: <!-- Page cached by Boost @ 2009-10-23 13:56:03, expires @ 2009-10-23 14:56:03 --> So the actual HTML source in the web browser will tell you that you are viewing a cached version of the page rather than a dynamically generated version of the page. It also tells you when this cached page version will expire—based on our configuration, basically one hour after it's been loaded depending on our Boost module settings. Everything appears to be working fine with our initial Boost installation and configuration. Sit back and behold the power of Boost! Boost and Poormanscron Checking our Status report will show us that we're running an incorrect version of Poormanscron. Boost is optimized to work with the latest dev or 2.0 branch of Poormanscron. So let's go ahead and install the latest version so that our cron runs will work correctly with Boost. Visit the Poormanscron project page and download the 6.x.-2.0-beta1 release and extract and upload it to our /sites/all/modules directory. Then run your Status report again to check to make sure the Boost warning has disappeared. You may need to run your update.php script, as this module update will make changes to your database schema. Run update.php and then refresh your Status report. In your Status report, you should now see the Boost row state: Boost Installed correctly, should be working if properly configured. Configuring Poormanscron The updated 2.x-beta1 version of Poormanscron is the precursor module to the eventual Drupal 7 core cron functionality. In Drupal 7, the functionality of the Poormanscron module will be part of the default core processes. For this reason the beta1 version does not give you a module configuration page. It will just run cron automatically, based on a setting on your Site information page. Go here to see that setting: Site configuration | Site information. Now you have an automatically run cron setting that you can select from. We'll use the default 1 hour cron run. This is a nice preview of some of the new built-in functionality of Drupal 7 core.
Read more
  • 0
  • 0
  • 1445

article-image-installation-drupal-and-ubercart-2x
Packt
23 Mar 2010
4 min read
Save for later

Installation of Drupal and Ubercart 2.x

Packt
23 Mar 2010
4 min read
You don't have to be an expert programmer or a system administrator in order to complete the following process. We'll first give you a brief explanation of the underlying technologies, and then we'll continue with a step-by-step guide. At the end of this article, you'll have the online store installed on your local or remote machine and you'll be ready to make all the required customizations to the frontend and the backend, depending on your needs. Minimum requirements for Ubercart installation In order to successfully install and use your online store, your system must meet the following requirements: Operating system: Drupal works fine in almost every operating system. Actually, you can transfer your Drupal installation from one operating system to another within minutes and no customization is required at all. All you have to do is to move the files and the database without altering any configuration files. For example, you can install Drupal on your local Windows or Mac computer, do all the customizations there, and then upload it to a Linux server to go live. Web server: The web server is the software that accepts HTTP requests from browsers and delivers web pages to the users of our site. The most popular web server is Apache and we'll use it for our installation. It's secure, extensible, fast, and easy to customize. If you're not an expert in another web server, there is no reason to think of any other solution, because most of the available information and support is about Apache. Database: The purpose of the database is to store, organize, manage, and retrieve all the data of our website in a structured way. When referring to data, we mean not only the content that you put in your pages, but also every piece of information that Drupal uses for all its functions. In this book, we're using MySQL as a database. Today, it's the #1 open source database, and it's used in millions of websites and applications, from small personal web pages to enterprise systems with millions of users.The MySQL database of a basic installation contains about 50 tables and every new installed module creates one or more new tables. If you check your database after the installation of Ubercart, you'll find that there are 100 tables in your database. These tables contain data such as pages, products, images, categories, orders, payments, caching information for your pages, theming information, comments from your visitors, menus, user information, and so on. PHP: PHP is a scripting language, ideal for web development. It began as a small personal project, but soon became a very popular scripting language. Drupal is written in PHP, so it's absolutely necessary and there is no alternative to it.Some PHP extensions are needed for our installation. We'll mention them briefly here, so you can consult your hosting provider or examine your local system to check that everything is fine. The easiest way to check your PHP parameters is to use phpinfo. It's a function that returns information about the PHP environment on your server. All you have to do is to create a blank file named phpinfo.php in your server and insert the following code using a text editor: <?php phpinfo (); ?> This is a small PHP script that runs the phpinfo function and displays the results on your screen. If you browse to phpinfo.php, you'll see a page with your PHP configuration. The basic PHP requirements are: PHP memory requirements: 1 6 MBs are enough for basic sites; however, 64 MBs are recommended for more complex installations. GD2 library: GD2 is an image manipulation library for PHP. Ubercart needs this library, so if we want to put images to our products, it has to be installed. Register Globals: This is actually a depreciated PHP feature, but some hosting providers with old systems still use it. It's a security risk, so it has to be disabled for Drupal to install. Safe mode: Drupal 6 doesn't support PHP's safe mode, because it causes problems to file uploads, so it also has to be turned off.
Read more
  • 0
  • 0
  • 2086

article-image-recording-interview-skype-using-audacity-13
Packt
23 Mar 2010
4 min read
Save for later

Recording an Interview with Skype using Audacity 1.3

Packt
23 Mar 2010
4 min read
In a previous article we described everything that you need to know about recording voice tracks. In this article by Bethany Hiitola, author of Getting started with Audacity 1.3, we will learn all the details of using third-party internet telephony software such as Skype to record telephone interviews. We will also cover how to set up a timed recording. Recording an interview with Skype If you are interested in doing more than solo podcasts with Audacity, you can always try creating interview podcasts. You can record these live in your office with your computer's internal microphone, or with additional microphones. However, you can't always perform an interview from the comfort of your office due to conflicting schedules and the location of your interviewee. Hence, let's learn how to record an interview using your phone and your computer. First you'll need to install another software that allows you to make phone calls using your computer. The program we are going to use for this example is Skype. However, you could use other software that does the same thing for your Internet telephony set-up. Download and install Skype Skype is software that allows us to make voice calls over the Internet, particularly to other users of Skype. Some numbers (such as toll-free numbers) are free of charge, while calls to landlines and mobile phones may require a small fee. For details on pricing for Skype credits for landline and cell calls go to: http://www.skype.com/. Let's briefy discuss how to download and install Skype. First, go to http://www.skype.com/ and download the appropriate version of the software for your computer. Once the installation package has been downloaded to your computer, double-click on it to begin the installation. For Mac computers, a .DMG file is downloaded. All you need to do is uncompress that file and drag-and-drop the Skype package to the Application folder. For any Windows device, an .exe file is downloaded. Double-click on that file to begin the installation. For Linux, there are multiple distributions available. If you aren't already prompted to do so, start the Skype application and follow the on-screen instructions to sign up for a new Skype account. Once you have registered and signed in, the main Skype screen is displayed, which should look similar to the next screenshot: Set up Skype for your telephone interview For our project, we've been using the computer's internal microphone, so there shouldn't be any additional set up in either Skype or Audacity. However, to be sure you may want to check the recording input devices in Audacity to make sure that you can record both sides of the interview. To do this, use the following steps: In the Audacity window, go to the main menu, and then select Audacity and then Preferences. When using a computer running the Microsoft Windows or Linux operating systems, you can find these preferences from the main menu. Select File and then Preferences. In the Audacity Preferences window, select Devices. Check the Device settings under Recording. Particularly if you are using multiple inputs, it may be best to select Stereo Mixer or similar input. If there are many devices listed with the Recording | Device drop-down menu, perform a few interview tests with a friend on Skype prior to the recording session, to determine which of the connected devices will actually be doing the recording. You might also want to turn off all notifcations in Skype. These are all of the alert sounds for events such as contacts logging in and out, incoming call alerts, and so on. To do this, follow the steps shown below: Open Skype and log in. From the main menu, select Skype and then Preferences. Select the Notifcations tab. Be sure to uncheck the Play Sound checkbox. This will make sure that all sounds are suspended and won't interrupt your recording session.
Read more
  • 0
  • 0
  • 7897
Unlock access to the largest independent learning library in Tech for FREE!
Get unlimited access to 7500+ expert-authored eBooks and video courses covering every tech area you can think of.
Renews at $19.99/month. Cancel anytime
article-image-drupal-6-performance-optimization-using-db-maintenance-and-boost-part-1
Packt
23 Mar 2010
8 min read
Save for later

Drupal 6 Performance Optimization Using DB Maintenance and Boost: Part 1

Packt
23 Mar 2010
8 min read
These are not required modules, but rather are recommended modules to add to your Drupal performance arsenal. The way this article will work is that we'll outline the purpose of each module, install and configure it, and then use it on a specific topic, for example, within your site. This will give you some practice using contributed Drupal modules and also a look at the variety of performance based modules that are available from the Drupal project community. Using the DB Maintenance module The DB Maintenance module can be used to optimize your MySQL database tables. Depending on the type of database you are running, the module allows you to use a function called OPTIMIZE TABLE, which troubleshoots and then optimizes various errors in your MySQL tables. For MyISAM tables, the OPTIMIZE TABLE will repair your database tables if they have deleted rows. For BDB and InnoDB types of tables the function will rebuild the entire table. You can use this module in tandem with phpMyAdmin to determine if you do or do not need to optimize your database tables. The benefit of this module is that it allows you to keep your database optimized and defragmented, similar to keeping your computer hard drive optimized and defragmented so that it runs faster, and you can do all this from the Drupal administrative interface. The project page where you can download the module is here: http://drupal.org/project/db_maintenance. Download the module tar.gz and extract it to your desktop. Then, upload the files through FTP, or upload and extract using a cPanel utility if your host provides this. The module should go in your /sites/all/modules directory. Once you upload and extract the module folder, enable the module on your modules admin page and save your configuration. We'll use the version that's recommended for Drupal 6.x, which is 6.x-1.1. You can try out the beta version, but you should not run this beta version on a production level website unless you've tested it sufficiently in a sandbox environment. Once you save your module configuration, you'll notice that the module adds a link to its settings and configuration page under your main Site configuration section. Go to Site configuration | DB maintenance to access the configuration admin screen for the module. The DB maintenance screen will contain a checkbox at the top allowing you to log OPTIMIZE queries. If you check this box, your watchdog log entries module will log all table optimization entries and give you detailed information on the tables that were optimized. At the time of writing this article, the 1.1 version of the DB Maintenance module contained bugs that caused glitches with the method of adding this module's queries to the recent log entries or prevented this entirely. You may also experience these glitches. The module's developers are aware of the issues because they have been posted to the issue queue at http://drupal.org/ on the module project page. Let's go ahead and check this box. You can then select the frequency with which you would like to run the optimization. The choices are daily, Run during every cron, Hourly, Bi-Hourly, Daily, Bi-Daily, Weekly, Bi-Weekly, Monthly, and Bi-Monthly. You can also click on the Optimize now link to force the optimization to occur immediately without scheduling in advance. We'll click on this link for the purpose of this demo, but in future you may want to schedule the optimization. We'll then run a cron job through the Status report, or a module such as Poormanscron, and the tables will be optimized. Next, you can select the tables in your Drupal database that you want to optimize. A nice feature of this module is that it allows you to multi select database tables, only select a few tables, or just one table. This gives you the same flexibility and functionality as your phpMyAdmin tool, but you can run everything from within your Drupal interface. It's like a phpMyAdmin lite version right in your Drupal site. This is a preferred option for those developers who may not have immediate access to a client's phpMyAdmin or a host's database management utility. Choose a selection of tables that you want to optimize, or select all the tables. For this demo I'm going to optimize all of my content type tables, so I'll select all of those. I'll also optimize my block tables: blocksblocks_rolescontent_type_blogcontent_type_bookcontent_type_forumcontent_type_pagecontent_type_photocontent_type_pollcontent_type_storycontent_type_webform Once you've selected the tables you want to optimize, click on the Optimize now link. As with any module or optimization enhancement that you make to your Drupal site, it is good practice to run a full backup of your MySQL database before performing any maintenance, including optimizing tables using the DB Maintenance module. This way you will have a full backup of your data if you run into any issues that the module could potentially create. It's better to play it safe and perform the backup first. Once you click on the Optimize now link, you should receive a message notifying you that the Database tables are optimized. This concludes our discussion and walkthrough of using the DB Maintenance module. Let's now turn to the Boost module and use it to speed up our site page and content loads. Using the Boost module We' re going to turn our attention to the Boost module in this section. Boost is a contributed module that allows you to run incredibly advanced static page caching on your Drupal site. This caching mechanism will help to increase performance and scalability on your site, especially if it gets heavy traffic and anonymous page visits, and it is on a shared hosting environment. This is usually the first contributed performance-based module to turn to for help when you host your Drupal site on a shared server. Developers running Drupal sites on shared servers and running sites that serve predominantly anonymous Drupal users will definitely want to try out this module. It's also a fun module to use from a technical standpoint because you can see the results immediately, as you configure it. The Drupal project page for the module is here: http://drupal.org/project/boost. There is a wealth of detailed information about the module on this project page, including announcements about upcoming conference presentations that focus on the Boost module, testimonials, install instructions, and links to documentation and associated modules that you may want to run alongside Boost. It is very popular and has quite a following in the Drupal development community. I definitely recommend reading about this module and all of its install and configuration instructions in detail before attempting to use it. The install paragraph suggests reading through the module README.txt file before running the install for details on how the module works. There are also detailed instructions and documentation on the module here: http://drupal.org/node/545664. Note that the one requirement to use this module is that your Drupal site must have clean URLs configured and enabled. It's a good idea to make sure you are running clean URLs on your site before you start installing and configuring Boost. Additionally, there are some recommended modules that the developers encourage you to install in tandem with the Boost module. We will install two of these modules: Global Redirect and Transliteration. The Global Redirect module runs a number of checks on your website including the following: Checks the current URL for a Drupal path alias and does a 301 redirect to the URL if it is not being used. Checks the current URL for a trailing / and removes the slash if it's present in Drupal URLs. Checks if the current URL is the same as the site's front page and redirects to the front page if it locates a match. Checks to see if you are using clean URLs. If you do have clean URLs enabled, this module ensures URLs are accessed using the clean URL method rather than an unclean method (for example, ?q=user). Checks access to the URL. If a user does not have permissions to view the URL, then no redirects are allowed. This helps to protect private URL aliases. Checks to ensure the alias matches the URL it is aliasing. So, if you have a URL alias such as /about and this directs to node/23, then a user on your site can access the page using either of those URLs. The Transliteration module removes white space and non-ASCII characters in your URLs. For example, it will try and add underscores to fill white space in a URL. Installing and enabling these two modules will help remove glitches and errors in your site's path structure. If you haven't already, we'll also take the time now to install the Poormanscron module and set up and configure automatic cron runs instead of having to continue running cron manually. We'll return to installing and configuring Poormanscron later in this article, but just keep it on your radar for now. Let's go ahead and install the Boost module and take a closer look at some of its features.
Read more
  • 0
  • 0
  • 3410

article-image-story-management-php-nuke
Packt
23 Mar 2010
12 min read
Save for later

Story Management with PHP-Nuke

Packt
23 Mar 2010
12 min read
The Story Story In PHP-Nuke, a story is a general-purpose, piece of content. Maybe the story is an announcement, a press release or news item, or a piece of commentary or opinion, or maybe a tutorial article. The possibilities are almost endless! With PHP-Nuke driving your site, the stories that appear on your site are not restricted to ones written by you. Users of the site—either registered or unregistered visitors, or other administrators—can write and submit stories to your site. The process of a story appearing on the site is known as publishing the story. Of course this does not mean that your site is a free-for-all—stories submitted by users and others do not necessarily get published automatically—they are submitted for moderation by an administrator, and once approved, appear on your site. In this way, the content on your site grows itself through your community, but always (if you want) under your control. PHP-Nuke keeps track of such things as the author of the story, the date when the story first appeared on the site, and the number of times the story has been read, and also allows users to vote on the quality of the story. An impressive feature of PHP-Nuke stories is that users can comment on a posted story to build an open, topical discussion within your site. You will see community-contributed stories when you visit any typical PHP-Nuke site; for example, on phpnuke.org itself, PHP-Nuke users and developers submit stories describing their latest PHP-Nuke add-on, or drawing attention to the latest theme that they've designed. The 'story' engine in PHP-Nuke is provided by the News module. The total story functionality is actually spread across a number of modules, including Submit News, Stories Archive, Search, Topics, Your Account, and Surveys. We will explore all of these in this article. The Story Publication Process The path taken by a story from writing to publication depends upon who submits the story. The super user or an administrator with permissions for the News module can post a story through the administration area of the site. In this case, the publication process is simple, and the story appears on the site immediately, or can be scheduled for publication on a particular date. Since the super user and any other administrators with the appropriate privileges are trusted (they have full power over stories, so they had better be trustworthy), there is no need to moderate or approve the text in the story, and the story is ready to go. Registered and unregistered visitors can post stories through the Submit News module. When a story is submitted through this route, the publication process is lengthier. The visitor enters the story through a form in the Submit News module. The story administrator is notified that a new story has been submitted. The story administrator checks over the story, editing, rejecting (deleting), or approving it. The administrator is also able to add notes to the story. If the story is rejected, that is the end of the process, and the story is not published. If the story is approved, it is either published to the site immediately, or can be scheduled for publication on a particular date. Once the story is published to the site, the administrator can edit it further if needed. For a visitor, once they submit their story to the site they have no more control over the story. Finding and Interacting with Stories Stories on the site can be accessed in a number of ways, from a number of different places on the site. A limited number of stories can appear on the homepage, with older stories gradually moving down the list as newer stories are posted. Stories can be retrieved by date from the Stories Archive module. The text in the story is also searchable from the Search module, so that specific stories can be located easily. Stories are organized into topics, and by browsing the list of topics from the Topics module stories can be tracked down. Stories are not the end of content, they are actually the beginning. Comments can be posted about stories, and comments can be posted to these comments creating a discussion about the story. The quality of submitted comments can be assessed by users of the site and rated accordingly. The quality or value of the story itself can be voted on by users, links to related stories can be created, and you can view a special printer-friendly version of the story for printing, or even send the story to a friend. So many features... did I mention that you can also attach a poll to the story so that readers can participate in a survey related to the content of the story? So many features... Organizing Stories When you have even a reasonable number of stories on your PHP-Nuke site (and you will have—that's why you're reading this article series!), you will be in need of some organization for this content. PHP-Nuke provides two ways of organizing story content: Topics: what it's about Categories: what type of story it is Topics Topics define what a story is about. By organizing your stories into topics, stories about similar subjects will be grouped together for easy browsing and reading, and also to make it easier for people to contribute their stories to the right place. When you're reading through a number of dinosaur-related stories, the sudden appearance of a story about cars would be rather off-putting (unless it was actually about fossil fuels or dinosaurs eating/driving cars). PHP-Nuke does indeed offer organization of stories into topics, and before we can think of adding stories, we need to set up some topics for our stories. A topic has an associated image that is displayed on the site whenever you view a story that belongs to that topic, or whenever you are browsing the list of topics. The image overleaf shows a 'teaser' of a story displayed on our site; the topic image is shown to the right-hand side of the story: The Read More… link will take the visitor to the remainder of the story. Note that this arrangement of the story text and the topic image appearing to the right of the story is just the default layout due to the basic theme. When we come to look at creating our own themes, we will see how the topic image can be made to appear elsewhere relative to the story text. By default, there is a single topic called PHP-Nuke. This has its own image, which should only be used for the PHP-Nuke topic. Categories As topics define what a story is about, categories define the 'type' of story. A category could be something like a weblog entry, a security announcement, or a press release. There is one category defined by default, Article. This category has the following properties: You cannot change this category's name or delete it. Any story of type Article automatically appears on the homepage. Users can only submit stories of type Article. Compared to topics, categories do not have particularly extensive support in PHP-Nuke. Planning the Dinosaur Portal Topics and Categories Before we move on to looking at managing topics and categories, we'll quickly discuss the kind of topics and categories that we would like for organizing our stories on the Dinosaur Portal. These are not set in stone, and after we create them, we can edit or delete them, or even add new ones. First of all, there will probably be stories about the Dinosaur Portal itself that will contain general information about the site, such as new features that have been added to it, or warnings about planned site downtime (or apologies about unplanned site downtime!). We will also have stories about dinosaurs, fossils, and dinosaur hunting; these can be the other topics on the site. What types of story will we have? In addition to the standard article, we can have new theories, technologies, or discoveries, maybe even tutorials (for example, how to identify fossils, or how to avoid being eaten when dinosaur hunting). There will also be stories about Project Chimera, but we can't reveal what that is just yet. Thus a story about a controversial new dinosaur extinction theory could be given the 'dinosaur' topic, and the 'new theory' category. This isn't an exhaustive list, but it is enough to give an idea of the topic-category split. Topic Management Before we do anything else, we'll create our topics. For each topic, we'll add the images first. After we create our topics, we'll look at how to modify them, and the consequences of deleting topics. Before we get started creating our topics, we will add the topic images. To do this, you will need to copy all the files from the topics folder in the Ch06 folder of the code download to the images/topics/ folder in the root of your PHP-Nuke installation. You should have these files: thedinosaurportal.gif, dinosaurs.gif, fossils.gif, and dinosaurhunting.gif, in addition to files called index.html, phpnuke.gif, and AllTopics.gif, which were already present in the folder. The images/topics folder is the place where PHP-Nuke will look for the topic icons. When adding image files to the images/topics folder, ensure that only alphanumeric characters or the underscore are used in your filename, or else PHP-Nuke will fail to pick up the filename when displaying the list of topic images. Note also that the total length of the filename and its extension must not exceed twenty characters, or PHP-Nuke will truncate the name when it stores a record of the filename. In this case, your topic image will not be displayed, because PHP-Nuke has not stored the correct name of the file. Also, if your image has an extension of more than three characters (such as jpeg) then it will be missed by PHP-Nuke. The AllTopics.gif file in the images/topics folder does not correspond to a single topic, but is the image used when displaying the lists of topics. This file can be replaced by an image of your own. Time For Action—Creating New Topics Log in to your site as the administrator. From the Modules Administration menu, click on the Topics icon: You will come to the Topics Manager area. Scroll down to the Add a New Topic panel The first topic we create will be Dinosaur Hunting. Enter the text dinosaurhunting in the Topic Name field, enter Dinosaur Hunting into the Topic Text field, and select the file dinosaurhunting.gif from the Topic Image drop-down box: Click on the Add Topic button. When the screen refreshes, the newly created topic will be displayed in the Current Active Topics panel: This process can be repeated for our other topics: Topic Text   Topic Name   Topic Image   Fossils   fossils fossils.gif Dinosaurs   dinosaurs dinosaurs.gif What Just Happened? The Topics Manager, reached through the Topics icon in the administration menu, is the area from where we can add, edit, or delete topics. The Topics Manager has two panels, one showing the Current Active Topics, and the other being the Add a New Topic panel. A topic requires three pieces of data: A topic name, which is a short piece of text with no spaces. This is mostly used internally by PHP-Nuke. The topic name is usually the same as the topic text, but in lower case and with no spaces. The topic text, which is the title of the topic. The topic image, the name of which is selected from the list of files in the images/topics folder. You can use the same image for more than one topic if you choose. Once you have saved a topic, clicking on its image in the Current Active Topics panel takes you to the Edit Topic area, from where you can edit or delete your topic. You may have noted that we haven't created the Dinosaur Portal topic. We'll do that now by editing the existing default topic, since we would like this to be the default topic for the portal anyway. Time For Action—Editing Topics We will edit the default topic to get the Dinosaur Portal topic: In the Topic Manager area, click on the PHP-Nuke topic icon in the list of Current Active Topics. When the page loads, enter the details as shown below: Click on the Save Changes button to complete your editing. When the page reloads, you will need to click on the Topics icon again to return to the Topic Manager area, since you will be returned to the page for editing the topic. What Just Happened? We just edited the properties of an already existing topic. To get at a topic's properties, you click on its icon in the list of Current Active Topics in the Topic Manager area. The possible topic icons are again picked from the images/topics folder and displayed in a drop-down list for you to choose. Once you are done making changes to the topic, clicking on the Save Changes button updates the topic. Note that there is no cancel button, and if you decide to make no changes here, you can click on the Topics icon in the Modules Administration menu to return to the Topic Manager area, or use the back button on your browser. Deleting a Topic It is possible to delete topics by clicking on the Delete link next to the Save Changes button. However, deleting a topic will delete all the stories that belong to that topic. Fortunately, there is a confirmation screen before the topic is deleted: Since the Delete link is positioned so close to Save Changes, it's probably good that there is this screen. There is no turning back after you click on Yes on this screen. Your topic is gone, and so are all the stories, and any comments attached to those stories. Note that the image associated with the topic is not deleted, and it still remains on the server, and can be used for another topic if wished.
Read more
  • 0
  • 0
  • 2839

article-image-creating-voice-track-audacity-13
Packt
23 Mar 2010
2 min read
Save for later

Creating a Voice Track with Audacity 1.3

Packt
23 Mar 2010
2 min read
Recording voice tracks With your material—script, story, or notes—you're ready to go, right? We shall start with a standard manual recording session. The simple voice track This is the simplest recording session. When you're ready, carry out the steps below: Open any Audacity project that you created previously (if it isn't already open) on your computer. Take a deep breath, and then click on the Record button, as seen in the next screenshot, and start speaking aloud your script. Immediately, you'll see the project view portion of your Audacity window change. A voice track will appear, showing your recording, live! The left (L) and right (R) channels show the volume of your voice (shown in the bars in the upper-right-hand of the previous screenshot). The digital interpretation of your voice is shown in the audio track portion of the project view (the blue "lines", or sound waves, that you see on your screen). Don't let this make you nervous; just focus on delivering a great voice track. Keep reading your script or sample piece as naturally as possible. When you're done, click on the Stop button. As soon as you click on the Stop button, you'll see that the recording stops, all activity in Audacity stops, and recording is over. Save your track to the project folder so that you'll be ready to start editing it. From the main menu, select File and then Save Project. Recording TipKeep any paper (your notes or script) in a place that won't interrupt the recording session when you lip the pages—preferably away from the microphone, or already spread out in front of you so that you can refer to them without touching them. We will learn how to "silence" these sounds later on, but having a clean initial recording always makes it a little easier. That's it, you've just completed your first recording session with Audacity! It really is as simple as that. But, as with the first time I used the software, I know there are likely things that you would like to change. So let's discuss some additional techniques for recording voice tracks.
Read more
  • 0
  • 0
  • 3755

article-image-alfresco-enterprise-content-management-author-interview
Packt
19 Mar 2010
10 min read
Save for later

Alfresco Enterprise Content Management - Author Interview

Packt
19 Mar 2010
10 min read
  Hello Munwar. Thank you for taking time off your busy schedule to answer some of our questions. 1.      From specializing in Digital Electronics and Advanced Communications to authoring Alfresco Enterprise Content Management Implementation – talk us through the journey! Though I completed my masters in digital electronics, my work has been always with software engineering. I worked as the chief architect and manager of engineering teams for 15 years in the areas of system software and Internet applications for customers in the United States, Japan, Germany, and India. For the past ten years, I have been implementing various content management systems. I started with multi-million dollar implementations of proprietary software and faced all kinds of challenges including vendor lock-in, rigid code base and expensive upgrades. I co-founded CIGNEX in 2000 with an idea of making open source work for the enterprises. Since then, we have successfully delivered more than 50 CMS applications using various open source technologies and got featured in IDC. Unlike most other open source CMS which offered only the web content management, Alfresco provided a wide range of solutions to Enterprise customers with an impressive roadmap. This excited us a lot and we started implementing Alfresco in many enterprises. As part of our implementation we also train our customers so that they are equipped with all the information required to manage their systems. I have trained many users, administrators, and developers in Alfresco.  I decided to author a book on Alfresco, based on the requests I have received from David Barnes of Packt Publishing and John Powell, CEO of Alfresco. 2.      How is Alfresco different from Documentum and some other Enterprise Content Management systems? What does the Alfresco team mean when they say that Alfresco aspires to be "Documentum fast and free"? Alfresco is unique and different. It is the first new Enterprise Content Management system built in over five years, based on open source and open standards. There are literally hundreds of open source content management systems on the market, but none address the requirement of enterprises small, medium and large to manage, share, control and reuse content across the company. Alfresco is different when compared to other ECM systems with the following specification: Enterprise features (scalability, security and failsafe plus the power to manage any form of unstructured data not just web content) Super fast Simple (to install, to use, to customize) With low costs John Newton who is the co-founder of Alfresco, was the co-founder of Documentum who knows this space pretty well.  His goal is to build a real Open Source ECMS that is 10 times faster and free.  I think he and his team achieved the goal pretty successfully.  3.      Tell us something about CIGNEX and Mike Walker and their contributions towards writing of the book. CIGNEX is the leading provider of open source Enterprise Content Management (ECM) solutions for businesses and government agencies.  Mike is the Vice President, in-charge of consulting at CIGNEX.  His organization is among the very first to successfully deliver ECM projects using Alfresco. Our consulting team at CIGNEX presented me the various flavors of Alfresco implementations that I would not have possible imagined, with real-life examples as they work on the Production projects. Mike (reviewer of the book) made sure that the information in the book is relevant to someone who is seriously considering Alfresco to deploy an ECM application. Starting from our CEO, Navin to a developer at CIGNEX, everyone contributed to the book one way or the other. My sales and presales team at CIGNEX, Amit, Candace, Harish, and Jarred helped me understand what customers are looking at.  I have learnt a lot through numerous discussions with them. I am thankful to my team at CIGNEX.   4.      At CIGNEX you have trained many users, administrators, and developers in Alfresco. How much has training helped you in writing this book? In June 2006, I have spent significant time creating Alfresco training for Users and Administrators. The training material had about 325 PAGES and 48 LAB EXERCISES, covering the latest features of Alfresco. I have got a good feedback from the attendees and over a period of time the quality of the training material improved. Thanks to Dr. Paul Holmes-Higgin (VP of Engineering, Alfresco) for his idea of running Portable Alfresco on a USB Drive.  I created and delivered the training material in a keychain (1 GB USB drive) which attracted many attendees as they do not have to install it on their computers. Training also helped me to define my writing style. I started by showing the reader how to do something - a step-by-step example. I explained how that process worked. Then, I explained what other options are available, and how they fit into the overall picture. I hope this helps the reader "generalize" from this example. Now, at CIGNEX we offer 4 various training programs in Alfresco (a) Foundation training for the beginners (b) Developer training (c) Workflow and Customization and (d) Web Content Management   5.      John Powell, CEO Alfresco has written a foreword acknowledging your book. Were you in touch with the engineers and developers at Alfresco during the writing of this book? John Powell was kind enough to write a foreword for this book. Everyone who read it enjoyed it. You must read it to know how big minds (John Powell-CEO and John Newton-CTO of Alfresco) think and create world's most successful companies. The good decision I made when I started writing the book during August 2006 is to work on the upcoming version of Alfresco (1.4 then).  This requires significant amount of understanding of the upcoming features which are not completely documented (as the Alfresco engineering team was developing it).  Thanks to Alfresco team who helped me getting the documentation and updating the Alfresco wiki. Alfresco released 2.0 beta recently with web content management features.  Due to the extra care we took in planning the book, the content of the book is relevant to the recent latest release. 6.      Who is the book aimed at? This book is designed for content managers, system administrators or developers who want to install and use Alfresco in their teams or businesses. Because Alfresco is free many teams can install and experiment with its ECM features without any upfront cost, often without management approval. This book also aimed at business users to make decisions to migrate from the existing proprietary ECM to standards based open source ECM. This book is particularly suitable for IT consultants who want or need to set up a flexible enterprise content management system for their clients, be that for demonstration, development, or as a mission-critical platform. This book gets you to that result quickly and effectively. 7.      Which chapter of the book did you enjoy writing the most? Which one do you think is most exciting? I enjoyed writing all the chapters and the most exciting one is Chapter 13, Implementing Imaging and Forms processing. This chapter helps you to implement an end-to-end solution by collecting the paper documents, and forms; transforming them into accurate, retrievable information; and delivered into an organization's business applications. The information then, is full-text searchable, and goes through the various approval workflows, based on the organization's defined business process management. By the end of this chapter you will have learned how to: Connect scanner to network drive, and map it to the Alfresco's space Specify a business rule to automatically extract metadata from the scanned document Define and execute a workflow process for scanned documents Bulk upload scanned documents into the Alfresco repository Integrate OCR utilities such as Kofax and eCopy into Alfresco This chapter provides solutions closer to your business requirements such as Order fulfillment, Claims processing, Underwriting, Loan origination, Contracts management, Accounts payable managing checks and invoices. 8.      Can you install Alfresco both on Windows as well as Linux Operating Systems? Have you explained the installation techniques in the book? You can install Alfresco both on Windows as well as Linux operating systems.  You can install Alfresco to use a wide range of databases such as Oracle, MySQL, Microsoft SQL Server.  You can install on variety of application servers such as Tomcat, JBoss. I have dedicated a chapter (Chapter 2. Installation) and included the information about the architecture, various installation options, and the key terminologies used. By reading this chapter you will be well equipped with the information to make a choice on the suitable operating system, database, application server, and other software required for your installation. 9.      In Chapter 3: Planning, you talk about Follow Best Practices to implement a project using open-source software. Give us a sneak preview about it. Most of the Enterprise Content Management projects fail not because of technology, but because of lack of proper planning. Planning is the most critical phase of any implementation project. During this phase, most of the decisions are made to customize specific features in a particular way. You define the security framework, custom-content types, folder structure, categories, workflow, reporting, business rules, and collaboration. During planning phase, you will scope your implementation, prioritize the requirements, and finalize the project plan. This chapter provides you information required for your planning exercise before implementing your system using Alfresco. 10.  Can you explain in brief Roles in Alfresco and its importance? Alfresco security model is flexible and allows you to choose either built-in security or external security model defined by your organization via systems such as LDAP and Active Directory.  The following is the list of default roles supported out-of-the-box by Alfresco: Consumer: Read spaces and content Editor: Consumer + edit existing content Contributor: Consumer + add new content Collaborator: Editor + Contributor Coordinator: Full Control Apart from knowing the roles, the most important thing to know is the methods to extend the security model and to provide effective collaborative spaces.  There is a full chapter in the book dedicated to this Security Model. 11.  When can we expect yet another book from Munwar Shariff? This is my second book. My first book is Plonelive, a python-based open source content management system called Plone. When I was writing Plonelive, I never imagined that I am going to write another book.  Book writing is a very involved exercise and requires a lot of discipline. I have a full-time job as a CTO and VP of Business Development at CIGNEX and I have two kids at home with whom I spend lot of time.  I am also contributing to the book's blog site http://alfrescobook.blogspot.com. >Whenever we (as a company) feel there is big need for "documentation" for a specific open source content management system or an open source enterprise portal, we might consider writing a book. I never know when that is going to happen. Thanks Munwar! I would also take this opportunity to congratulate you on the release of Alfresco Enterprise Content Management Implementation.   Share This Article Save to del.icio.us      
Read more
  • 0
  • 0
  • 1594
article-image-easy-install-gentoo-bling-bling-no-other-one
Packt
19 Mar 2010
13 min read
Save for later

The easy to install Gentoo with bling-bling. No, the other one!

Packt
19 Mar 2010
13 min read
The easy to install Gentoo with bling-bling. No, the other one! Gentoo is a source-based Linux distribution that helps users put together a streamlined custom system. But Linux users spoiled by the see-before-you-try Live CDs would often shy from Gentoo. Then along came Kororaa. Kororaa is a pre-configured binary Live CD for Gentoo Linux that also features an installer. Kororaa's package selection not only makes it an all-round Linux desktop, but has also ruffled feathers of Linux kernel developers. Kororaa's developer Chris Smart probably had the best tutors introduce him to Linux, including Andrew Tridgell, the author of Samba file server. In this discussion with Chris, he talks about why he developed Kororaa, why people interested in learning Linux should use Gentoo, and his new project to help users make the move to Free and Open Source software. Mayank Sharma: Chris tell us a little about yourself? How did you get started on computers? What drew you towards FOSS? Chris Smart: My name is Chris Smart and I live in Canberra, the capital of Australia. My Father was a computer teacher and so I grew up with computers and developed a talent for using them. Over the years through high school I was often fixing friends' computers and this has pretty much continued ever since (although I now only touch open source). When I left high school I deferred University deciding instead to work in the IT industry and in 1999 I started working for a local Internet service provider. At the time certain people were working for a company called "LinuxCare" who were on the same floor in our building. One of these people was Andrew Tridgell (of samba, rsync, etc fame) and it was here I first learned about Linux. Spending time with these fantastic guys gave me perhaps the best introduction to Linux I could have possibly had and I simple fell in love with open source software. Tridge set me up with RedHat 5.2 and I remember him fixing my screen resolution for me in X so that it would work nicely on my 19" CRT monitor. Those were the days :) From there I tried various Linux distributions, moving on from Red Hat and the 'RPM hell' I found myself constantly falling into. It was the year 2000 that I discovered Gentoo and from there I never really looked back. MS: So you had the best tutors. Over to Kororaa and the million dollar question -- Why Kororaa? What hole does it plug? CS: I used Gentoo for many years and over time got tired of the time consuming install process. I also had friends that I wanted to move over to Linux but I found myself spending hours and hours installing their own custom Gentoo for them. This was when Kororaa was born. I wanted a way to easily install a Gentoo system on other computers. At the time there was no installer for Gentoo and so initially my mate Matt and I set out to write an installer for the distro. Not long after however, the "Gentoo Linux Installer" project was launched. This made Kororaa switch focus towards a more custom 'install method' for Gentoo. We wrote our installer and released our first version of Kororaa, which was essentially a pre-configured Gentoo system which installed binary packages onto a computer and automated most of the configuration tasks. MS: Share some of Kororaa's highlights, the High-points, etc. CS: The biggest highlight of Kororaa was when it shot to fame as the first Linux distro to showcase Xgl on a live CD. We had hundreds of thousands of downloads and I think, from memory, we shot up the Distrowatch.com rankings to number 25. Even today, Kororaa is still known as the 'Xgl live CD', even though that was really just a side project to the main aspect which was having a binary install for Gentoo. Even before we released the Xgl live CD however, we were number 100 on the rankings and our Gentoo installer was doing quite well in its own right. MS: But you had trouble with the Xgl Live CD as well. What was that all about? CS: One fine day while we were basking in the success of the Xgl live CD, I received an email from a kernel developer who claimed that distributing the NVIDIA and ATI drivers with the Linux kernel was a breach of the GPL license that the kernel is under. He stated that the drivers were derived works of the kernel and therefore had to be under the GPL license. Either I had to stop distributing the drivers, or stop distributing the Linux kernel. Obviously I couldn't stop using the Linux kernel, but the greater issue for me was "what was the right thing to do?". I spent months and months researching the topic and gathering information to support both sides. In the end I found there was no actual answer and so it came down to a moral judgement more or less. I decided that if it could not be shown that distributing the drivers with the kernel was perfectly legal, then I should be giving the Linux developers the benefit of the doubt and not distribute the drivers. In the end this is what I did. MS: From what I know, you got little help from the community, legal and otherwise. Did the whole episode discourage you? CS: I didn't get much real legal help from the community, just a lot of opinions. You think you have it worked out and then someone from the other side makes a point and then it turns it on its head again. The bottom line for is that there is currently no legal precedence for this issue. As such that makes it hard to find the legal rights and wrongs. I think most people would know that distributing these drivers against the license of the Linux kernel, that's why no-one was doing it for so long. But, because there is this grey area, people convince themselves they are able to do it because no-one can say it's wrong. What's the answer? Legally, I'm not sure. But the Kernel is GPL and so all drivers distributed with the Linux kernel MUST be GPL, that part is very simple and everyone understands that. It becomes grey area when people say that the NVIDIA drivers aren't a derived work of the kernel and therefore don't need to be GPL. But seeing as that is hard to proveeither way, then what we do know is that we are distributing a video card driver for Linux that is not GPL and that to me seems like the wrong thing to do. What I found discouraging was the lack of real answers. Of course there was flaming from both sides with very, very passionate Linux-using people (often without much clue) weighing into the argument with their flaming 2 cents. People told me 'this is why they hate Linux and everyone should use BSD', others telling me to 'grow some balls' and all that sort of junk. But I tried to filter out those and gather information from reputable people, specifically those who could back up their arguments. In the end, removing the drivers killed the popularity of Kororaa, but that is something I was prepared to accept. Still, even now I'm happy that I felt I did the right thing, which was what it was all about in the first place. MS: Hmm. But why did you choose to base it on Gentoo? Any particular reasons, advantages? CS: Because Gentoo is source based, our goal was to quickly replicate a Gentoo system without having to compile packages to do so. Had we been using a different Linux distribution this would not have been necessary. Gentoo gave me the flexibility to build a binary system exactly the way I wanted to and then Kororaa made that easily installable. Originally Kororaa was a great way (well I think anyway) to install Gentoo without having to build it manually yourself. I selected specific packages that I felt fulfilled a certain purpose and this meant that the end user didn't need to know how Gentoo worked, nor what packages they needed. They could simply install Kororaa and have a pre-configured Gentoo system out of the box from where they could begin to learn Gentoo through using and maintaining it. MS: So initially Kororaa had features that Gentoo lacked. But now when Gentoo too sports an installer, is available on installable Live CD and Live DVD versions, where does Kororaa fit in? CS: You are right. Now that Gentoo has their own (working) installer and a live CD as their default environment I'm not sure what role Kororaa can fill, or whether it needs to continue at all. I think Kororaa still is a more customised and simplified system, whereas Gentoo still gives you a lot of flexibility during install time. We also clean up the system andadded our own artwork, attempting to make it look pretty out of the box whereas Gentoo generally just uses the defaults. Still, this might not be enough to warrant the continuation of Kororaa and with the popularity of other Gentoo based distros such as Sabayon, I think Kororaa has reached the end of its usefulness (unless we find some other hole we can fill in Gentoo land). MS: Was Gentoo your first distro? What sort of computer user would you suggest Gentoo as their first Linux distro? CS: I fell in love with Gentoo the first time I installed it. The ability to customise your Linux system beyond just choosing the packages to install was incredible and for the first time I felt in control of my computer. That's a pretty powerful thing and no other Linux distribution has ever given me that same feeling. Gentoo is great for people who have a desire to learn about Linux and their computer. I believe it is fantastic for 'newbies' so long as they have patience and the motivation to stick through the problems they will encounter. With Gentoo you can build your very own system unique to you and your wants, so along the way you will need to do a LOT of reading and research. The Gentoo forums are one of the best online communities I've ever been involved in and are the best resource to start with. For users who just want a system to work and want to do very little customisation and maintenance, Gentoo is probably not the right choice. Although it can be a high maintenance distribution, it doesn't have to be. When all is said and done though, if the idea of building your own kernel freaks you out then maybe you should stick with a binary distro ;) MS: On to your other initiative. Tell us a little about 'Make The Move'. CS: 'Make The Move' project was born out of my desire to promote Linux and free, open source software. Discussions with other members of the Canberra Linux User Group spurred me into action and the website was born. I launched it on the 1st January this year and since then it has had some 50,000 unique visitors. The website is designed to be a resource to explain what free software is about and how people can 'make the move'. I am using everyday language to convey technical ideas which will hopefully help to get an understanding of free software out into the general community. Over time I intend to build upon the content that is there and improve the quality of the site. This will require updating it as Linux and technology changes so that is relevant to systems of the day. So if you have friends, colleagues and family members who you are trying to get onto free software, point them to the site! It is a great research for those who often find themselves explaining what free software is about and why people should care. Just memorise the URL and forward it to everyone on your contact list, http://makethemove.net :) MS: So how's the FOSS scene in your part of the woods? Do people around you talk about it? Do the local papers mention it often? How's your LUG?CS: Being upside-down does make it tricky using computers at times, but nevertheless overall I think Australia has quite a good base of open source developers and the community here is quite strong. Rarely is FOSS in the news here however and that is something I am hoping to help change through the 'Make The Move' project. Many everyday people here have no idea about what free software is or what it can do for them. Slowly though more and more people are starting to hear about Linux. As this happens I hope that Make The Move can help to steer people in the right direction and not scare them away from what they might not yet understand. Australia also hosts one of the most popular open source conferences in the world, Linux Conference Australia, which attracts many prominent open source figures from all over the globe. MS: Last time I checked, a couple of sections on MTM were still awaiting content. If you have any calls for collaboration, either with MTM or Kororaa, feel free to enlist here. CS: I really desperately need some XHTML/CSS experts to fix issues with the site, so if there are people out there willing to help throw a few ideas around I would be most grateful! I am actually hoping to get a new, updated design happening soon. The site does not scale well and is not great under Internet Explorer (I know, every developer's favourite topic) but unfortunately these need to be fixed as our target market is most likely using Windows and Internet Explorer. We need to save them!! Actually, according to my web statistics, about 75% of people visiting the site are using Windows while only 20% are using Internet Explorer (70% are using Firefox). The other thing I need for the site are more translations! I would like translations into any and every language we can. Currently there are 7 translations active on the site with another 5 or so on the way, but there are many more languages out there. Through translations we can hopefully utilise this central website to expand the knowledge of free software into many more countries around the world. MS: Any upcoming Kororaa developments we should keep an eye out for? Any more projects in the pipeline? CS: At the moment my priority is to fix up the Make The Move website and release a new version as soon as I can. I have many content changes and updates that need to go live but I am holding off on until the new design is complete. Other than that there is not a lot new happening, although I did recently start a new job :) I have also begun writing some reviews for Distrowatch.com and might continue to work on that area as I do enjoy writing. We'll see :) 
Read more
  • 0
  • 0
  • 2630

article-image-alfresco-web-content-management-wcm-20-part-one
Packt
19 Mar 2010
9 min read
Save for later

Alfresco Web Content Management (WCM) 2.0 Part One

Packt
19 Mar 2010
9 min read
Web Content Management (WCM) Modern web site implementations are architected with two distinct sets of capabilities – creation and maintenance of the content and delivery of the content to the target audiences. Creation and maintenance of web content is called Web Content Management (WCM) and is a relatively new discipline in the history of web technology.   In the early days, web sites were simple with static content that changed infrequently. Modification of the content was not the biggest of challenges and such changes were typically performed by technical developers. Web technology and the associated disciplines have come a long way since those times. Today there are well-defined disciplines involved in creation of web presence such as information architecture, visual design, content strategy, and site development. Products of these disciplines are merged together and realized through enterprise application technology, which adds functionality and dynamic nature to web sites. Specialization of roles among these disciplines as well as the complexity of the modern technology has made content updates difficult and error prone when performed directly on stored content. A WCM system makes it easier to create and update content by hiding the technical details related to the storage and delivery of content. It becomes almost imperative to use a WCM system for sites that have highly dynamic content which may also need to be delivered on multiple channels such as web, handheld devices, and print media. In such situations, content can be created once and rendered automatically for different channels. The WCM products available today vary widely in terms of their capabilities, the underlying technologies and frameworks, and the extent to which they use open-source products as architecture components. Many WCM systems also offer presentation capabilities in order to facilitate delivery of content at least for the web medium. When discussing WCM features, it is useful to identify what WCM is and what it isn’t. WCM deals with creation, persistence, and maintenance of content. It may also include some support for presentation in terms of previewing the content being created or edited. However, fully-featured presentation frameworks or technologies, such as portals, should be evaluated separately, since majority of their concerns are significantly different. Products with integrated WCM and portal capabilities offer the convenience of a one-stop solution for building, managing, and delivering web content. On the other hand, products with only WCM capabilities, or at least clearly separable WCM capabilities, offer freedom to use rich and mature presentation technologies which may already be in place in the existing infrastructure. Let’s take a look at a few products, which represent various points along the spectrum between these two extremes. Microsoft SharePoint Server is a well-known product with a wide range of content management capabilities that go beyond WCM and portals. Similarly, EMC Documentum is a high-end platform for enterprise content management which can be used in almost any way enterprise content may be intended to be used. EMC Documentum provides products catering to specialized needs – Web Publisher for creating and managing web content, Site Caching Services for pushing content to Web or Application Servers, and integration options with portals for presenting content. Interwoven and Vignette also offer high-end WCM systems. There is also a wide range of open-source options for WCM which have developed large user bases. Joomla! (as well as Mambo, where Joomla!’s origins lie) offers an integrated WCM and portal technology built on the LAMP (Linux, Apache, MySQL, PHP) platform. Joomla! offers over 100 components for providing specific optional capabilities such as building user communities or incorporating shopping carts. Joomla! makes it very easy to set up a web site in minutes if you are willing to work with its content organization and presentation model. Alfresco is an open-source platform developed with the stated goal of bringing enterprise content management (ECM) capabilities to open source. The Alfresco leadership team brings content management experience from companies such as Documentum, Business Objects, and SeeBeyond. Alfresco has matured with two major releases over a period of 2.5 years. Alfresco enables Document Management, Collaboration, Records Management, Knowledge Management, Web Content Management and Imaging – some of the most common applications of enterprise content management. Alfresco WCM 2.0 was released recently and offers some exciting built-in features that promote development efficiency and reduce infrastructure demands. We will explore these aspects in this article.   WCM Challenges Every WCM system is expected to provide certain fundamental features. The core WCM feature is the ability to edit content through a user-friendly and technology-neutral (as much as possible) interface. The system also needs to provide security and the capability to allow a team to work on the content. WCM systems typically support versioning for content items. Finally, the content needs to be exported to a form suitable for web or application servers for delivering to the target audiences. There are certain other features that are not necessarily required in a WCM system, but are considered to be desirable and are supported by many contemporary WCM products. One such feature is the ability to store content in XML format. XML content facilitates publishing the same content through multiple channels such as web, wireless devices, and print media. Another common and desirable feature is the support for business processes or workflows. At the minimum a simple approval process is desired which can be used to review and approve the promotion of content changes to a live environment. The WCM features discussed so far focus on what a WCM system can do. However, some of the challenges for WCM initiatives deal with how a WCM system supports certain capabilities. Such aspects may significantly affect development efficiency, quality assurance, and infrastructure costs. We take a look at some of these concerns below. Simple static HTML pages seem to belong to a bygone era. Even simple web sites today are usually dynamic and frequently contain media (images, videos) and utilize code and a database. Today, web site management deals with managing content, media, and code together. As a result, the line separating a web application from a web site is a blur. Note that sometimes the term “content” is used to refer to all the resources managed by a CMS. For sites utilizing code and media along with plain content, it becomes important that all of these resources are managed in sync. For example, if a change is made to include a new user attribute in the user profile the corresponding code or configuration changes need to make it to the live environment, along with any presentation changes (web pages that will use this new attribute). These requirements become more complex when you consider the fact that different team members may be working on related artefacts and these changes need to go through the review process concurrently. Another aspect of managing dynamic web sites is that often multiple web pages need to change to reflect one feature change in the web site. For the example above, the new user attribute may require a change to the user registration screen, user profile screen, and possibly some site functionality that utilizes the given feature. Thus, adding an email format preference to the user profile may require changes to three pages, two code components, and one configuration file. These affected artefacts together form a change set – they all need to go into the web site together or none of them should. If one or more pieces in the change set were left out, the change would not function as expected and would likely introduce a bug. Change sets bear some similarity to transactions and versions. The description above reflects the similarity to a transaction since all the changes should either be committed or discarded together. On the other hand, suppose a change set implementing a particular feature was promoted to the live environment. It worked as designed and expected. However, it led to unexpected business impacts and now this change needs to be undone. The WCM system should make it easy to roll back the changes introduced by a change set. If the system kept track of web site snapshots – state of the complete site after each change set was promoted, it would be simpler to go back to a prior state of the web site. One of the trickier challenges of WCM systems is to provide multiple environments which are isolated but more or less similar in structure. For example, each developer requires an area where he/she can make changes without impacting other developers or to the live environment. However, each developer should only see his/her changes on top of the currently live content. Then multiple change sets might need to be reviewed by different reviewers concurrently. Each reviewer should only see the change set to be reviewed on top of the currently approved content. Thus, there is a need for an on-demand virtual copy of the web site which includes the approved content and a change set. Such an isolated environment is commonly referred to as a sandbox. In the rest of this article, we will explore the core features offered by Alfresco WCM 2.0 and how it addresses the WCM challenges described above.   Alfresco WCM 2.0 Alfresco is an open-source content management platform. Alfresco WCM 2.0 is an optional add-on which can be installed on top of the core platform to enable WCM capabilities. In this section, we will look at typical usage of Alfresco WCM 2.0 and highlight how it handles the challenges described earlier. Alfresco organizes storage in spaces. A space is a smart folder which can be associated with configurable rules. These rules control what happens to documents or other spaces that are added under the space. Among other things, these rules enable workflows within the platform, support automatic versioning, and automatic rendition generation.   Installing Alfresco WCM 2.0 adds two spaces to the repository – Web Projects and Web Forms, as shown below in the Alfresco standard web interface. The Web Projects space holds other spaces, where each space represents one web site. The Web Forms space holds templates for creating and publishing content for different content types such as a press release or a company profile.                           Two Spaces are Added by Alfresco WCM 2.0 Web content for a site is managed under a web project space which is created under Web Projects. For example, the following screenshot shows alfrescowww as a space created for managing content for this web site. A Space for Holding Content for a Web Site Continue reading Alfresco Web Content Management (WCM) 2.0 Part Two [ 1 | 2 ] Read Alfresco Web Content Management (WCM) 2.0 Part OneRead Alfresco Web Content Management (WCM) 2.0 Part Two
Read more
  • 0
  • 0
  • 2607

article-image-alfresco-web-content-management-wcm-20-part-two
Packt
19 Mar 2010
6 min read
Save for later

Alfresco Web Content Management (WCM) 2.0 Part Two

Packt
19 Mar 2010
6 min read
The Web Forms space holds forms that define content templates. For example, we may want press release to be a content type for the web site. A press release may contain a title, an abstract, a location, and several paragraphs in the body. These content elements can be defined in an XML schema file. Alfresco WCM uses the information in the schema file to automatically create a form which can be used for creating XML content for press releases. Once this content is created it can be published to multiple channels –web site, plain text, and wireless devices such as cell phones, for example. The publishing conversion for each channel can be defined using transformations which are specified using XSL, among other options. Content templates can be shared across multiple web sites. The following figure illustrates how a content item for a content type is created and published for multiple channels. Creating Content and Publishing on Multiple Channels for One Content Type Once the space for web site and the web forms (content templates) have been set up, we need to set up users with appropriate content development roles. For example, different users may play roles such as Content Publisher, Content Reviewer, and Content Manager in the content creation process. Further, a Web Developer role may perform the necessary setup needed prior to content creation. Alfresco supports the concepts of change set and sandbox described earlier. Each user gets a separate sandbox, which is an isolated view of the web site. Each user’s sandbox shows only that user’s changes on top of the existing approved content. Similarly, when a user needs to approve a set of changes only those changes need to be visible on top of the approved content. A change set is a set of changes that move together in a workflow. The following screenshot shows user sandboxes and the staging sandbox which contains the currently approved content. The Modified Items link shows the content items the user is currently working on. Staging and User Sandboxes Note how each of the sandboxes allows a separate preview of the website incorporating the changes present in that sandbox. The preview of staging sandbox consists of only the approved content. Alfresco WCM 2.0 includes a virtualization mechanism for supporting in-context web site previews. For example, the following screen shows a preview of the Staging Sandbox web site. Note that there is one approved press release. A Published Press Release in Preview Another, very useful feature of Alfresco WCM 2.0 is snapshots. A snapshot captures the complete state of the web site at a given point in time – it can also be thought of as a version of the web site. Alfresco allows reverting back to an older snapshot with just one click. The figure below shows how easy it is to revert to an older snapshot – version 8 was created by clicking on Revert in the row for version 4.   Reverting to a Prior Web Site Snapshot In version 4, the news story shown earlier had not been approved. Previewing the web site for Staging Sandbox now shows no press release in the screenshot below. Previewing the Staging Sandbox after Reverting to an Old Snapshot Note that security and workflow capabilities are part of the core Alfresco platform and are utilized by WCM 2.0. The features discussed above focus on the core development process where content is created via web forms and goes through the approval process, allowing site preview at every point. However, Alfresco WCM 2.0 architecture is versatile enough to allow content creation through standard interfaces such as WebDAV and CIFS (Common Internet File System). Further, it allows content delivery to multiple sites and supports multiple web application technologies. The following figure illustrates these capabilities of the Alfresco architecture. Source: Alfresco WCM Webinar, March 2007 Note that the terms Dev, Preview and Live in the figure above represent the creation of code, content, and media and their movement through the approval process. The Alfresco server shown in the middle is one production environment. In reality, you would need one or two additional environments for performing configurations and customizations in a separate environment which will not accidentally bring your production system down. For example, you should rehearse the space structure setup, security setup, custom rules and configurations in a development environment. Ideally, you would replicate the setup in a QA environment where the configurations/customizations can be tested before applying to the production environment. The development environment remains the playground for trying out any new configuration or customization. The environment concerns described above are not unique for Alfresco WCM 2.0 – there are fairly similar concerns in other WCM systems. What is really pleasant about Alfresco is that it is lightweight enough to run on a single physical machine for dev and QA purposes. On the other hand, production can be set up in truly sophisticated configurations to handle performance, availability, and disaster recovery requirements. Further, Alfresco’s ability to use various commercial components (database, application servers, etc.) as well as popular robust open-source alternatives liberates customers by giving them back the power and freedom to choose what is best for their technical environment.   Conclusion Web Content Management is one of the most popular applications of Enterprise Content Management. There is a wide range of WCM products available in a spectrum ranging from open-source products to completely proprietary offerings. Alfresco WCM 2.0 is a recent release which makes secure content management in a team environment a breeze. It offers exciting features which enable content managers to review, approve, and roll back business or application-level features. This is a huge improvement over managing content, media, and code at an individual file level. The Alfresco WCM 2.0 architecture takes the pain out of adding content from various sources as well as delivering content to multiple channels. The underlying Alfresco architecture puts the power and freedom of choice back in the customer’s hands by liberating them from vendor lock-in. By building upon robust open-source technologies Alfresco leaves more cash in the customers’ pockets for completing their strategic content management initiatives successfully.   References and Resources   Alfresco 2.0 Web Content Management Product Evaluation Guide Book – Alfresco Enterprise Content Management Implementation Alfresco WCM Webinar, March 2007 Alfresco 2.0.1 and 2.1.0 Update Alfresco.com
Read more
  • 0
  • 0
  • 1720
article-image-how-choose-open-source-content-management-system
Packt
19 Mar 2010
10 min read
Save for later

How to Choose an Open Source Content Management System

Packt
19 Mar 2010
10 min read
I want to define a couple of important concepts before going into the detail of this topic. What is a Content Management System (CMS)?A CMS is a system that manages a website's content, without requiring any HTML knowledge, to link pages and to control how the pages look. A CMS makes it much easier for users to create, edit, and publish the content on a website. What is the scope of the document that covers CMS?CMS is available in commercial and Open Source licenses. It can be written using different languages such as PHP, Perl, ASP, JSP, etc. To help limit the scope of this document, I will only cover open source CMS that are written in PHP. What is the definition of content?Content can mean different things to different people. It can mean news, articles, Blogs, Wikis, forum posts, picture galleries, source codes, file managements for download, product for e-commerce and so on. And finally... How do I choose the best Open Source CMS for me?With my observations from the many people that visit opensourceCMS.com, the "How to choose an Open Source CMS" question is the most frequently asked, however there is no single simple answer! Below are my recommendations on the processes that I would normally use in selecting an Open Source CMS. Your criteria:One of the most basic steps involved in a CMS selection effort is to determine your requirements.  The following bullet points may assist you in the determination process. Content or Purpose: Defining the purpose of your content is just as important as defining the content itself. Is your content tailored for interaction, forums or for you to express yourself like Blogs and articles? Entry format: Content includes text, images, video; audio, XML, PDF, HTML, spreadsheets, etc. How should the content be stored: In flat files or in databases? Support: For open source projects, the community support is very important. How helpful is it? How active is it? Add-ons: There is rarely a CMS available that will match exactly what you need, so it is very important to have as many add-on options available for your chosen CMS as possible. Hands-on:With the above understanding of your requirements, this is where the rubber hits the road, so to speak. The fun begins with some hands-on experimenting with Content Management Systems, and oodles of research. opensourceCMS.com is the only site of its class that lets you play with a whole array of open source CMS with full administrator privileges before you do the installation on your own site. There are several categories of CMS at the site to choose from: Portal, Blogs, e-Commerce, Groupware, Forums, e-Learning, Image Galleries, Wiki, Lite and Miscellaneous. As you are experimenting with different CMS packages you might notice each has its own strengths and weaknesses. Some might prefer PHP-Nuke style, some might like the Mambo way of managing articles using section and category, others might love the way Drupal uses the concept of Taxonomy to organize information amongst others like Wiki, Blogs etc. You will also find CMS like eZ Publish and Xaraya, which comes with choices of multiple personalities for you to choose when you do the install. The most important thing is choosing a CMS package that fits the way you want to organize your content. It might take you a little bit of effort to learn how a particular CMS works. For example, when I started out learning about CMS I cut my teeth with PHP-NUKE and learned the way it organizes information using the concept of modules and blocks. I later learned about how insecure it is; our site was hacked and defaced a few times. So we set out to look for another CMS and found PHPWebSite; it looks very nice and it works similarly to PHP-NUKE but it didn't perform to our expectation on the version that we looked at, so we were forced to start our search again for another suitable CMS. This time we tried Mambo. Mambo does things different from PHP-NUKE and PHPWebSite. It took me a few weeks of reading forum posts, news, and articles to learn the way Mambo organizes things. Once we got the basics understanding of Mambo, we started customizing just as easy as PHP-NUKE, or even better! Research:Where should I begin? Read as much as you can on the forum posting of your particular chosen CMS at opensourceCMS.com or at the CMS project home site.  Comparison. You can visit CMSMatrix.com do a comparison on features of different CMS packages that you tentatively want to take a look at. CMS Rating  As I was doing research on different CMS packages, I figured that I would need some way to give me a starting point to determine where to start. That is when I decided to develop a dynamic list of CMS ratings based on visitors' ratings, voted for by visitors of opensourceCMS. I created a composite of all the ratings into a list sorted by category and by rating score in a descending order. You can find the CMS rating list here. CMS top hits.  One other tool that I use to help me decide on which CMS to choose is by looking at the hits statistics on a particular CMS demo at the opensourceCMS.com site. So I decided to develop a CMS Top Hits list.  This list is a dynamic collection of the statistics of the daily hits counted by the visitors to the CMS demo. One other figure that I found very useful beside the hits count is the 'Ratio'.  The Ratio is calculated based on this formula: Ratio = (number of hits) / (number of days since this CMS was listed at the site).  By using this indicator all CMS has a fair chance comparing to other CMS that might be listed at the site for a longer time.  You can find the CMS Top Hits list here How about other kind of CMS? As I was studying the world of CMS I found that there are many CMS packages available out there on the net.  Beside the usual category that you might find at opensourceCMS.com, there are: CMS Framework, KMS, Directory, Calendar, etc.  There are too many to name here!  You can find a collection of my research on different kinds of CMS from my site at OngETC.com Is it secure? You might want to visit www.osvdb.org to see how much vulnerabilities your chosen CMS had and how quickly it was patched.  You might not want to pick a particular CMS that it is particularly insecure. Try again? You might have discovered that you sometimes have to abandon the CMS you have chosen for some reason(s) and go back to the hands-on point and try out a different CMS.  Plug-ins:Next, decide what features and functions you would like to use on your site.  The following questions might help you to decide: Do you want to store your content in flat files or databases?  Will there be a need for an event calendar?  Will there be a need for an upload/download area?  What about an image gallery?  How about a poll or survey tool?  Will you be needing multi language support or translation function?  How about WYSIWYG (What You See Is What You Get) editor for content? Is security and permission important to you?  How do you want to set permission and assign access to your content? Components and modules are "plug-ins" that typically provide add-ons to the core system.  Sometimes there are presets of add-ons installed as a part of the base system and sometimes you will have to install them separately.  This can vary greatly from one system to the next.  More established systems like Mambo will have a lot of community support which translates to a wide variety of components, modules and plug-ins.  You will soon find out that some of the features you want, might not be available as part of the core or add-ons.  You might have to buy a commercial add-on product, pay a 3rd party developer to do it for you or learn enough to develop your own. It helps to list all the things you need and use that as your shopping list to test against and to experiment with.  The key word here is experiment because that's the best way to understand how useful it might be. The LookLastly, once you determine the base system and the add-on features to use, it is time to decide on how your site will look.  Most systems utilize templates or skin and CSS (cascading style sheets) that allow you to tailor the look of your site.  It's up to your imagination!  Even if you are not a graphic or template designer, there are many free or commercial templates that you can acquire and tailor to fit your taste. You can download these and add them to your site which can really give it a complete makeover.  Some of the CMS have a "template chooser" that lets you pick different "skins" for your site.  At last...In Summary, this article started out by defining 'what is a CMS?'  'What is the scope of this article?'  'How content definition could be differed in people mind?' 'How do you decide which CMS is best for you?' We also looked at what criteria to use to define your requirements.  With your tentative set of requirements, this article suggests where to go to do some hands-on experiments to gain more understanding about different choices of CMS, and how to fine tune or expand your criteria.  We also shared a little of our experience when we went through the process of choosing a CMS. Once you identify a CMS that you like, then it would be worth while to do a lot of reading regarding your choices, whether at opensourceCMS.com, or at the CMS project home site and any additional affiliate sites that you can find.  You might consider doing a search on Google about your particular CMS to see what else you might find.  The point is doing as much reading as you can afford! With knowledge from all the reading you have done, it is time to decide on what additional feature-sets you want and find out whether it is available on the core system; pre-built plug-ins, and freely available open source or commercial plug-ins. Finally you will need to decide on a template for your site.  You might develop yourself, download some open source templates, or buy from a professional commercial template designer. That should give a good overview of the whole lifecycle in choosing an open source CMS and give a brief glimpse into some things for consideration.  Now is the time to load your content to your site and ready for the debut to the world! By Chanh Ong Chanh Ong is a Computer Specialist. Chanh has many years experience in various computer platforms and operating system, programming languages, system administration, DBA and etc.     Content Management Books from Packt Packt publishes a range of books on various Open Source Content Management Systems, including Joomla!, Mambo, Plone, TYPO3, DotNetNuke, OpenCMS, XOOPS and many more. For more information, please visit: www.PacktPub.com/content-management  
Read more
  • 0
  • 0
  • 7295

article-image-downloading-evolved-metalink
Packt
19 Mar 2010
7 min read
Save for later

Downloading evolved with Metalink

Packt
19 Mar 2010
7 min read
Downloading evolved with Metalink Anyone who has tried downloading a popular software or Linux distribution on or just after release day, knows of the pain of the phrase "connection timed out". Getting the software can be quite a struggle, despite all the mirrors and BitTorrent Samaritans. Anthony Bryan's Metalink is an open standard that makes downloading easier, faster, and more reliable by helping users extract the last drop of juice out of their connection. I emailed a set of questions to Bryan to understand what separates Metalink from other run-of-the-mill download accelerators and listen in awe as he explains how Metalink combines traditional HTTP and FTP methods of downloading files along with BitTorrent. Mayank Sharma:  Let's begin with the traditional what is question -- what is Metalink? Is it another way to download "stuff"? Anthony Bryan: Yep, Metalink is a way to download "stuff." But it's not a new transfer protocol like FTP or P2P method. It attempts to make the traditional download process simpler by automating advanced features and hiding complexity where possible. It's something that download programs like Web browsers, FTP programs, download managers, and P2P clients support. Information about the files to be downloaded is stored in a simple XML file with a .metalink extension. MS: So how exactly is using a metalink beneficial over other traditional methods of downloading? AB: In general, it should be easier and be error free. It can also be much faster. The information a download program would need is in a machine-processable format in the .metalink file, stuff like all the different ways to download a file (from multiple mirrors to P2P) and other things like the priority and geographical location of the mirrors, checksums, publisher, license, OS, language, etc. More the information, more the things that can be done! So, instead of a single link to a file, you have many links. This means higher availability. If many servers are down or very busy (like on a release day), your download program can automatically check links and see which ones are good. You don't have to manually gather and check each link. This improves usability. Some programs can use the multiple links to download different parts or segments of a file from many places, which is called multi-source downloading. Usually, your download will be much faster, but that all depends on your connection. A single source download usually can't offer as fast download speeds. Metalinks can also contain checksums or repair information to fix corrupted downloads, either files downloaded with other programs or repairing the download in progress. You can repair downloads with rsync and some P2P, but with Metalink you can do it over regular FTP/HTTP. These benefits are mainly seen in large downloads like ISO files (CD/DVD images), which can range from 500 MB to 4 GB or larger. Time is money and sometimes you need things downloaded before you can get work done. If there was an error in one of these files, it could be painful to need to re-download it. This could be very helpful to movie and music downloads, where (once this technology is included in browsers) you'll be able to download huge files and recover from errors, and download a whole album or multiple albums in one click, within a browser and not some special application. For instance, when you buy a bunch of albums on Bleep.com, you can download the files individually or in an archive. The archive takes up resources on the server and on your computer. With Metalink, you can list all the files and have them added to a download queue in one click. This is also useful for software like KDE that is available in multiple files. MS: Whoa, those are some advantages. While it's good for the person downloading, what about the person offering the download? Any reasons why he should make a .metalink for his downloads? AB: As we've already discussed, Metalink should offer your downloaders an improved experience - more reliable and without errors. This translates to cheaper bandwidth bills and support costs. Not very exciting unfortunately, but something that needs to be done since it's simple and can be automated. You can give different mirrors or P2P sources a priority. If you list FTP/HTTP mirrors and P2P, the mirrors can be used in case the person can't access P2P or if the file is no longer on the P2P network. This can be handy in situations where a business or university may block P2P because of copyright concerns or that they don't want someone continuously uploading and using bandwidth, or because of configuration issues with routers, etc. In the end, you want people to be able to download whatever you are distributing. MS: Great! So how does one create a .metalink for their downloads? AB: The easiest way to create a .metalink is with the Metalink Editor which has a graphical interface. If you're going to be making a bunch, you may want to use the automated tools which have a command line interface or server tools which are meant to be run on mirrors. This article on osresources details the non-graphical methods for .metalink creation. MS: Right. So do I need a special application to use a metalink download? Won't it work with wget? AB: Right now you do need a special application that supports reading the .metalink file and using that info. Luckily, most download managers support it right now, but no Web browsers natively. Support in Opera and Firefox would make the benefits way more accessible to regular people. wget doesn't support it yet, but aria2 is a similar command-line program that does. The beauty of free and open source software is that if people are interested enough, then support can be added to a bunch of download programs quickly and easily. MS: Do you track the number of projects using Metalink? AB: Yes, mostly free and open source projects use it right now, but some proprietary companies and game makes use it. OpenOffice.org, openSUSE, cURL, Arch Linux, DesktopBSD, blag linux, StartCom Linux, Berry Linux, PC-BSD, Linux Mint, Ubuntu Christian Edition, redWall Firewall, GoboLinux, TrueBSD, PuppyLinux, UniProt Consortium, Eiffel Software, and Ankama games have used Metalink. MS:  Any new feature Metalink users, both offering and downloading stuff, should keep an eye out for? AB: I view Metalink as basic infrastructure and hopefully it will get to the point where people don't even know they are using it. Metalink as it is now is Wave One (or maybe .5) of coming improvements. I think we can build on it and offer some really cool things, which will again work transparently for people. Not all clients support all the features of Metalink, like using repair information - that's a really important feature. Phex is the first program with Metalink support that is primarily P2P (other BitTorrent clients like aria2 and GetRight support it). You'll be able to export your library, or parts of it. If you want to share something with a friend, you can just email a .metalink or put it on a server for download, and they'll get the same exact files since they're identified with checksums. No weeding through search results searching for similar files will be needed. MS: Thanks for taking time out for the interview. Please share a little information about yourself and your life outside of computers. AB: I'm 29, just finished my Master's degree, and looking for work related to Metalink with open source projects.  :)  I live in southeastern Florida, in Pompano Beach. I'm pretty laid back and I love the ocean. I'm really into music, mostly instrumental, from electronic to Indian, dub, jazz, and even normal stuff. I like old books and movies and I'm interested in technology and how it affects our lives.
Read more
  • 0
  • 0
  • 8397
Modal Close icon
Modal Close icon