Results tagged “brainstorm”

Contentment is currently running two sites: Contentment.org and ~Sterling. I'm currently updating the CIS Support Site to also run under the new software. The process of conversion is pretty simple since a lot of what Contentment is came from the "knowledge base" used there.

I've discovered a few minor flaws in Contentment at this point that will need to be addressed soon. Primarily, to this point, the forms system that I've built is rather badly unfocused. I made some assumptions (which I stupidly did not document), which no longer hold. As such, I need to refocus the design of this subsystem as it is a major feature. This has come into play because two of the most important pages on the CIS Support Site are the password change and account application forms.

The forms system is actually very good at handling complex forms situations, but as for simple stand-alone forms, it sucks. Anyway, I just wanted to cover the basics of web forms and why they are a complex situation to be resolved.

Current HTML forms are dumb. Eventually XForms will replace them, but until then this system operates within the restrictions of HTML forms. HTML forms have a very small set of possible controls: text boxes, password boxes, checkboxes, radio buttons, buttons, popup boxes, list boxes, file uploads, and text area boxes. The HTML form also assumes that a given form only addresses a single action at a time, which is a very difficult limitation to live with if you want to do something even moderately complicated (like updating more than one record at a time).

This limitation can make having multiple nested forms very difficult or impossible (especially since a form tag cannot be embedded within another form tag). Even having multiple separate forms on a page can lead to complications. As such, I created the idea of "panes" where each form exists within a pane. Then, a pane may contain other panes and thus nested forms. Upon submit, the forms processor is run and processes all submitted panes that have had their "activate" field set. This actually works alright, but what if we don't want to use a pane? Well, that isn't handled so well.

Another problem with forms is what to do with the form when we're done with it. For example, what if we want to have a login form. We might want to have logins available on a stand-alone page or as a part of the side-bar. If a stand alone, where do we go after login? If a side-bar, do we return to the current page on success? Do we go to a special error page on error, or do we just report the error in the sidebar on the current page? Thus, I added a "map" system that allows pluggable module to determine how each action state is handled. This is a bit of overkill for very simple forms.

Beyond this, the system is a little esoteric. It requires a lot of extraneous API knowledge that could be simplified. There are also a lot of features that are a little out of place because of the time span that was involved from the start of the forms system and today (I started the forms system early last year). Anyway, this thing needs a bit of work and will probably be pretty well rewritten for the 0.9 release.

My next plans for the current revision are to reconstruct my blog aggregator and create a blogging plugin. I was thinking of rewriting the VFS to add it's first non-real-file-system plugin, but I think I'll create the plugins using the file system first and then try the VFS update afterward. I think it will make the VFS plugins a little more interesting if I start without them and then add them in later.

I need to also start posting documentation on the Contentment.org web site this week so all of this makes sense without having to read the code. So much work to do and so little time...

System Plans

Now that I've finished the bulk of my Master of Science program, it's time to consider the next move for the systems. I've made most of the major changes I wanted to coming into this position, now I'd like to make those changes robust. So, the coming year's theme: stability.

I believe we must examine, to achieve the goal of stability, there are four aspects of the systems (in no particular order):

  • Network infrastructure
  • Server infrastructure
  • Security infrastructure
  • Information infrastructure

Network Infrastructure: This is the foundation of our systems. In the Department of Computing and Information Sciences, this is a completely uknown quantity. None of our current staff can state with certainty the current network's history or current quality—we just don't know. The students and myself have not been around long enough to know. Our hardware specialist, Earl has been around long enough to know quite a bit, but still doesn't really know the network infrastructure well enough to gauge it's condition. Before we can really begin to guarantee quality anywhere else, we will need to quantify the quality of the network. Once quantified, we will need to address any problems found. This research will begin this month and should be finished by May. At that time, we make any changes we can to stabilize this aspect of our systems.

Server Infrastructure: Work on this aspect has already begun. Our server systems are actually in fairly good shape, but still require tweaking to bring the system completely into the 21st Century. We'll be moving to a new web server, the old web server will be handling email services, other services will be moved around, and our obsolete hardware will be retired or placed on standby to be retired in the future. Most notably, our Solaris fleet is made entirely of computers that were never meant for server use and reached End-Of-Life years ago. If we're to continue our use of Solaris, new servers must be purchased. Solaris used to be our flagship system because Sun offered such great support. Yet, as of now, the support offerings from Sun don't look to be that compelling, in my opinion.

Another notable aspect of this issue, is the problem of file services on our systems. For the duration of my time in the Systems Coordinator position, we have been plagued with NFS problems. I intend to resolve this via one of several solutions. The first solution is to attempt to remove the current Solaris NFS server from our systems. It seems to be a major cause of problems on our Linux workstations (it's actually got to be a bug on Linux, but a probable work-around is to remove the Solaris NFS server). This should solve the current stability issues.

Security Infrastructure: Account management and authentication was a major focus of my M.S. Report. These were, really, the largest changes I have implemented on our systems. These have resulted in the most significant discomfort to users as well. Hopefully, most of the pain associated with these changes has ended. The account manager has not been fully implemented. During the next few weeks, it will be set in place. This should decrease the amount of effort spent performing account maintenance and allow us to monitor accounts much more closely than is currently possible.

As mentioned above, NFS is a stability problem on our system. However, while the solution given above will resolve the stability problem, it doesn't address the underlying security flaws of the NFS protocol. The NFS protocol itself has irreparable problems that demand it be replaced. This might be as simple as hoping for full NFSv4 support in Linux soon or as complicated as implementing a different file system infrastructure under Linux. This is, as yet, uncharted territory, so more news will come as we further research the issue.

Information Infrastructure: Communication is a major problem for the systems staff. As such, we're looking at better ways to communicate with students and to put a "human face" on what we do. If we can do this, students, staff, and faculty will be more likely to work with us rather than grumble about us. I have a few ideas that range from improving the support web site, to improving our support tracking system, to posting more information in the form of banners and posters in the labs, and even possibly requesting some renovations to Nichols to make the systems staff hallway more accessible.

I think lots of exciting things will happen during the coming year with the services. I hope we can prove our worth to faculty, staff, and students for the next coming year. Consider this an early New Year's resolution. Cheers.

1

Tags

Find recent content on the main index or look in the archives to find all content.