From User to Site Administrator and Beyond
The treatment presented in this page should be useful to you, even if you wish to do as little site administration as possible, because somebody has to perform these tasks. For you, site administration and programming tasks might be handled by someone else, but learning about the range of possibilities will open your eyes to the potential of Plone web sites, and you might think about things to ask your web site administrator about.
A web site administrator is the go-to person for technical help, software updates, and technical guidance. For large web sites, multiple people serve in a site administration team, with specialization in the handling of such things as user accounts, site design, database maintenance, and programming. We can keep it simpler here, though, and think about how a sole site administrator, the owner of a personal web site, would use Plone.
Typical uses of Plone for personal web sites include sharing family photographs, keeping a blog, following a specific area of interest, maintaining a fan site, presenting teaching materials, and showcasing photographs, artwork, songs, or other creative work. The basic functions described in this manual are used, in addition to site administration tools and some level of web site programming.
We can use the butterfly enthusiast (lepidopterist) as an example of a person who steps beyond basic user tasks to build a personal web site. The lepidopterist is very knowledgeable about butterflies and wishes to share with the world, but also wants to collaborate with other butterfly people, interested individuals and scientists alike. Plone is a great tool for this job. The lepidopterist learns that people use Plone for small web sites and dives in.
Imagine three lepidopterist personas of differing ilks, in regard to experience and confidence in computer use:
These personas span the range of Plone web site owners, the first wearing only the hat of plone-user, the second wearing two hats, the plone-user hat and plone-site-administrator hat, and the third, appropriately, wearing three hats, the hats for plone-user, plone-site-administrator, and plone-site-programmer. Let's compare these personas.
John-the-normal-person is in luck. He has a friend who makes web sites with Plone. He asks the friend to set him up a web site and to tell him what to do. The friend installs Plone on his own web server, registers a domain name for the web site, and wires and plumbs it all up. He even designs a nice butterfly logo and sets custom colors and a background image for the site. All John-the-normal-person has to do is learn about Plone from a user's perspective (using this manual and other user-oriented documentation on plone.org). That's it. John-the-normal person is on the Internet map.
John-the-normal-person asks his friend, who acts as site administrator for his web site, to set him up a regular user account, johnsmith. His friend creates the johnsmith account, and gives it full access rights to the web site by setting Manager role for the account. John-the-normal-person logs in as johnsmith and sees the green tabbed interface, with the tabs available anywhere on the site. He learns how to create folders first, and goes about creating a hierarchal structure of folders and subfolders for his bio and contact information, an area for family photos, and folders for the butterfly information. He learns the procedures for preparing images from digital photographs of his family members and of all those butterflies, and spends much time working through existing data and photographs, and uploads files and images. He writes web pages for butterfly groups and species following a simple template of his own design. After a few months of this basic, but intensive work, he is able to develop a monthly routine of updating the website with new butterfly images and descriptions.
Whenever John-the-normal-person has a question, he enjoys the luxury of asking for help from his friend, who is able to log in using the all-powerful admin account. There are some site administrator tasks for which John asks for guidance from his friend, but, for the most part, he maintains the website on his own. Site administration tasks he does for himself include:
- Adding new user accounts for members of his family and for fellow butterfly enthusiasts who help him write butterfly species descriptions.
- Managing user accounts and accessibility to different parts of the web site. For example, when he needs help on writing or editing a butterfly species description from an expert, he uses the sharing tab to give edit access to the particular butterfly expert's account on the system.
- Updating several "portlets" in
the left column area of his website, one showing a focus "butterfly of
the month," and the other showing a recent photograph. For this,
John-the-normal-person follows advice from his friend and by using several documents on plone.org as help.
For communications, John-the-normal-person interacts with other butterfly enthusiasts very effectively using E-mail. When there is a need to communicate about a specific butterfly, the natural hierarchical organization of folders makes it easy enough to refer to specific pages.
Elizabeth-the-web-page-builder has experience making web pages, and took a short-course in web page design using HTML coding. With this substantial background, she has the confidence to download Plone to her local computer and install it. This enables her to learn the bells and whistles of Plone without having to hassle with and learn about installing Plone on a web server -- yet. After following the directions to install Plone on her computer, she reads documentation about playing the role of web site administrator.
Elizabeth-the-web-page-builder uses the admin user account and the special password for admin provided by the installation software upon its conclusion. Elizabeth logs in as admin, after reading more documentation. She doesn't bother setting up a regular user account for herself, because she knows she can just use the admin account for site administration as well as for regular user tasks, as she will be the only user. As admin, she follows recipes on plone.org to change the logo and layout, the theme of the web site. She learns about the power of using cascading style sheet (CSS) definitions to easily alter the look of the web site, and how to make whole-scale changes to the site by installing new custom themes. She works on the theme for her new web site on her local Plone installation, until she is satisfied with the design.
Elizabeth-the-web-page-builder investigates options for hosting her web site on a web server, and explores different hosting providers that specialize in Zope web server software, the robust system that provides the understructure of Plone. She chooses a hosting provider and contracts web hosting services for a year. Elizabeth-the-web-page-builder sees the powerful features of Zope, but defers to the hosting provider for site setup tasks and installation of Zope and Plone on the server. The hosting provider also helps her with installation of her custom theme, already developed on her local Plone installation. Her new live web site has her custom logo, color scheme, and layout.
In the early stages of creating her web site, Elizabeth-the-web-page-builder performs the normal user tasks of creating folders, uploading files, adding photographs and graphics, and web pages to build the actual content of the site. Like John-the-normal-person, Elizabeth-the-web-page-builder performs basic site administration tasks using the special panels available to the admin user, but steps beyond site administration to the level of Plone web page building, and learns how to add custom page templates that access data objects stored in Plone's (and Zope's) storage system. With page templates, custom forms software downloaded from Plone.org, and a little bit of page template scripting, she learns to build a map system that shows distribution maps for any selection of butterflies on her website.
For communications, Elizabeth-the-web-page-builder installs a message board system in her Plone web site, along with enabling visitor commenting throughout the site. There is nothing terribly fancy about these communication functions, which augment standard E-mailing, but they get the job done effectively.
Sally-the-programmer knows much about web servers, web page building, and programming for the Web, having worked as a Java programmer in several stints, before taking a job as a history teacher and IT specialist at a high school. Her interest in butterflies is a passion, but she has substantial interest in web programming and web site databases. Sally-the-programmer already administers web servers, one a leased server she uses for her own website, for several friends, and for several local organizations, and several other school servers. Like Elizabeth-the-web-page-builder, Sally-the-programmer installs Plone and Zope on a local PC and uses the admin account to kick the tires, and then she takes the more technical step to examine the innards of the system by cruising the filesystem and browsing code. Learning Python by example and by reading several books and web sites, she builds on her Java programming experience, and embraces Python for its clean syntax. She dives into learning from the many examples of Plone/Zope software applications that she downloads from the Web. She learns that Plone/Zope applications are built with Archetypes, a kind of high-level API (Application Programming Interface) used to write custom software for the system. She uses her local installation of Plone and Zope for software development and testing of custom Archetypes-based content types, and maintains a production installation on her web server.
Development of custom content types for her butterfly web site consumes her for some time, as she vigorously examines existing software applications and reads through tutorials on Plone.org. She develops several custom types, one called ButterflySpecies, for containing generic static information about a butterfly species, another called ButterflyTaxon, a so-called "folderish" content type for storing the species descriptions, and another called ButterflyObservation, for describing field data. Installing these types on her server system, she writes a Python program to "populate" the butterfly web objects from a text file containing existing formatted descriptions and data. Once complete, Sally's web site functions well as a streamlined system, requiring a minimum of effort to add new butterfly coverage.
Sally-the-programmer takes advantage of the built-in intelligence of the system, and adds to it with custom search result boxes, a focus feature, and a calendar-based view of the butterfly data. These elements are placed along the side of her website and as portlets placed intelligently through the pages of the web site, and are driven by a set of custom page templates and Python scripts that provide an interface to the underlying custom butterfly types. For communicating with other butterfly enthusiasts, a message board and visitor commenting are enabled for the site, in the same way Elizabeth-the-web-page-builder set up her web site, but Sally-the-programmer creates specific connections to the custom butterfly content types through use of smart folders, so that message board, commenting, and email traffic regarding different species are listed and coordinated in several very useful views.
Comparison and Conclusion
These three personas illustrate different ways to accomplish the same thing. Is any one of the three web sites necessarily and demonstrably better than the others? No, a person with little or no artistic talent, or programming skills, but with clear thinking, can build and maintain a great web site, just by using the built-in functionality of Plone. Use of custom smart folders in a stock Plone web site offers substantial power to yield similar results to those of the advanced programming treatment described in the third example. There are undoubtedly differences in convenience and presentation, but they aren't overly significant -- Plone and Zope are "out-of-the-box" web performers. Customization and development of specialized software only adds to a full-featured base.
So, whatever your experience and perspective, when you feel the need or want to expand your knowledge, use the documentation area of Plone.org, or buy a Plone and/or Zope book to dive in to the deeper waters of site administration and programming!