RIA server filesystem architecture

The /opt directory can be used to store shared components, as follows:

  • /opt/os - All open source components

  • /opt/common - All common scripts, such as form validation for contact us forms, anti-spam code.

    • /antispam

      • /html - (html and javascript) - to assist the user
      • /php - to protect the server
    • /footer - Footer text, specifically the company name and copyright indicator. This ensures it can be changed in one place to update every page on the server.

New accounts could access these components like so:


ln -s /opt/os/dojo 
ln -s /opt/os/Smarty 
ln -s /opt/os/Zend
ln -s /opt/common/html 
ln -s /opt/common/php
ln -s /opt/common/footer

These links allow relative references to the common resources, while providing central sourcing.

GUI vs. Command Line

There are many powerful GUIs to assist web professionals, and, they are excellent. They often allow people to perform tasks that they would not otherwise be able to. This is valuable for inexperienced users, however, it is not an excuse to be casual with skills.

When you must get something done, and the GUI is the fastest way to achieve the goal, the GUI is vital. However, when you have a little bit of time, it is definitely worth understanding what the GUI is doing, and learning how to do it on the command line.

Most GUIs provide displays to show the underlying actions. phpMyAdmin provides a GUI to create the queries, but also displays the MySQL. It can be a great learning tool.

Command line control is usually faster than a GUI. The GUI protects you from errors, by guiding you through the operations step by step. On the command line, you can enter exactly what you want. If there is an error, you’ll usually get a message. Potential catastrophic operations are usually preceded with some sort of warning or confirmation.

Finally, there are times when the GUI won’t work, or you won’t have one. If you can use the command line, you will still be able to do all the work.

RPM Compliant Web Applications

RPM compliant web applications and toolkits must meet the following requirements:

  • Dissociation of customization and extensions from the application. This includes all configuration parameters, such as database access settings, design elements, and plug-ins from the core application files. Thus, a web application can be installed as an RPM, accessed through a symbolic link, and customized for an account with the appropriate directories at the account level. In this way, multiple accounts can use the same core code, while remaining independent. This requirement can be waived if the application will be used with dedicated servers.
  • Packaging with careful attention to Provides and Requires to ensure interdependencies are observed.
  • Conflict resolution must be established to ensure incompatible components are not installed.

Popular web applications should consider an RPM compliant file system architecture for the following reasons:

  • Disk space Most powerful applications require a significant amount of disk space. RPMs allow a single installation to serve an entire server.
  • Security and maintenance RPMs can be managed with automatic updates, ensuring security and update patches are applied promptly, automatically.
  • Local security Managed properly, using a common source to serve an application can allow a server administrator to provide the application, but prevent account holders from modifying it. This would be extremely valuable for hosting companies.
  • Ease of installation/distribution By making RPMs available, distributing them with operating systems, and publishing them in repositories, they are easier to install and use.
  • Standardization RPMs can ensure that web applications are always installed in the same place. This can be very helpful for technical support.
  • Bandwidth RPMs may reduce the bandwidth required for distributing applications, by making them available from more sources.

Risks and disadvantages of this approach include:

  • Loss of flexibility, all accounts will use the same core code. Extensions will have to be used to customize the applications.
  • Skill level of the server administrator and application engineers must be adequate to ensure graceful use of the application within a shared architecture.
  • Security, if the core code is compromised, all accounts on the server will be affected.
  • Many web applications would require significant changes to use an RPM compliant filesystem architecture.

At this time, the best candidates for distribution as RPMs are javascript libraries. These libraries offer very powerful features for web sites and applications, and are very rarely changed. They are usually executed on the client side, and the CSS can be overridden easily, eliminating concerns about customization. A single symlink from the account makes them accessible for a site.

Web You Point 0 (You.0)

Type your name and email address into Google - in quotes, as you use it most. What is your web profile? What kind of impression are you publicizing? Is it accurate? Is it what you want people to see?

Prospective employers and many other people will Google you.

Consider:

  • The type of sites your name is on. Are they reputable? Are they respectable? Are they controversial?
  • Are all the instances of your name from you, or are other people referring to you or identifying you publicly?
  • If you posted images, are they appropriate for ‘all ages’?
  • If you posted text, is it well-written? Correctly spelled? Tasteful?
  • Are you a contributor or a consumer? That means, are you asking for help or helping others?

The Internet isn’t a playground. It is a vast, publicly-accessible resource. Think carefully before you post and publish. In 5 years, you may be a different person.

SEO

SEO can be very important, but it is often a gamble. I have seen sites move drastically within the search engine rankings, without any changes to the site, content, meta tags, or links to it.

A site ranking is not necessarily important, and doesn’t indicate a site’s value to its visitors.

If you are relying exclusively on a web site to bring new business to your company, consider the following:

  • Understand your target customer and what they are looking for. The site should be designed for them. Most of the general population will not visit many sites, people frequent sites that serve specific needs or interest them.
  • Ensure your site meets the general guidelines described by most search engines. Be sure the site has enough quality pages.
  • Include interactive features on your site that allow visitors to explore and learn. They should be interesting enough to attract visitors, but short enough to allow completion before their attention is lost. If possible and practical, offer free utilities and tools such as calculators or estimate generators. Free demonstrations of your products or services are excellent, tutorials and informative videos are also good.
  • Review popular forums and sites related to your business area. Identify the type of people that frequent them, and choose a few that are similar to your demographic or target audience. Participate, without advertising. The objective is to demonstrate your knowledge and publicize your company. Put your company’s site in your signature.
  • Put the site’s URL everywhere. Be sure it is on all printed materials, stationery, business cards, receipts, motor vehicles, signs, magazine ads, in press releases, and on promotional materials.
  • Include any common, valuable applications, such as a support ticket system, contact mechanism, online account access (this may be costly and may present security risks.
  • Watch the site statistics to see how people use the site, and continue to develop and expand it accordingly. Extend the popular features, and enhance those that aren’t as successful.
  • Be aware of cost. There is no point developing expensive features that may not have a tangible benefit.
  • Consult with marketing professionals and diversify. Newspaper ads, magazine ads, television ads, press releases, sponsoring events, public relations, and professional networking will bring people to you, and your site.