Job description for the OpenAI site designer/developer


Table of Contents

1. General
2. Layout
3. Content
4. Functionality
4.1. Logo contest
4.2. SourceForge data
4.3. News log
4.4. Document manager

1. General

The designer of the OpenAI website is responsible for doing the layout, converting the content and extending the functionality of the site. He is free in choosing the appropriate technology/framework to achieve this.

However, we are limited to SourceForge's services. The site framework can use

  • php

  • perl

  • python

  • mysql

2. Layout

At this time, we want to retain the current layout of the website. Though its necessary to check the documents if the provided CSS is used consistently throughout all sections.

3. Content

Its a basic site with only a few content sections:

news

Our users/developers needs to be informed about whats going on. Currently we use a simple newslog. There is a bug with broken links in archived messages. You can either fix it or choose to replace the CGI by another one.

documents

This static section should be replaced by a submit/update document system. So you need to manage a few users that are allowed to post/change documents (even multi page ones). In a later version it would be nice to have forums linked to the papers. So people could comment the stuff in a paper. Papers can be online- and/or offline viewable (txt/html/pdf). I'll cover this in more depth in a later section.

files

All files are hosted on the SourceForge account. We will not change this at this time. It's only needed to have a simple way to update the SF-links and to add new file links.

4. Functionality

4.1. Logo contest

This is a one-time issue. Our project needs a logo and we have already received a number of submissions. Our users should be able to vote for theire favourite logo. For that task, we where in search for a developer to implement a CGI that covers the submission of additional logos and the actual vote process. We found a volunteer that donated us the needed code. What we need from you: review the scripts and get the contest going as soon as possible.

4.2. SourceForge data

It would be nice to have the recent SourceForge data (forums/news/files/bugs) visible on our site. Please review the document Displaying project development information on project home pages on SourceForge's documentation to see what it takes to implement this..

4.3. News log

We already have a working newslog script. Though we want to replace it by a more powerfull system. Some goodies that should be implemented:

  • login screen for OpenAI developers

  • add/edit/delete items

  • searchable archive for older messages

  • at a later time: site users should be able to comment news items

4.4. Document manager

OpenAI features a growing number of papers containing either concepts or documentations. The document section has to provide a convenient interface to manage this papers. Some tasks to be done:

  • login screen for OpenAI developers

  • submit/update/remove papers

  • automatically generated index page for the papers (user has to provide document title/key words)

  • at a later time: site users should be able to comment papers, request changes/additions

4.4.1. Declaration of the term 'paper'

A paper could be a singe HTML or ASCII document, a single PDF document or a whole bunch of HTML files and images (multipaged document). To satisfy the last sort of papers, multipaged documents, i suggest the following methode:

Whenever a developer wants to submit a new paper, he has to upload (HTML post) a zip file containing all files for this document. After the user filled the submit article page, the system has to create a subfolder for the document and after that it has to depack the zip file into it. To perform a update, the system wipes the folder before the new version gets unpacked. This is only one possible way, though. A sophisticated system would probably use a database to store the documents.