[WLANnews] Google Summer of Code Proposal for Theme & Database Ideas

Spencer Tom Tafadzwa Chirume schirume at gmail.com
Do Apr 2 14:27:28 CEST 2009


Hello,

I'm not fluent in German so please bare do bare with me :) Let me know what
you think, I made an effort not to be vague about what I'm to do so any
helpfull feedback is most welcome.
**
*Proposal for Website Theme & Database Work
*
My work intended focuses on theme work and database work for the freifunk
project, the theme work I’m going to be working is made up of themes for
websites, blogs and any Content Management System sites or blogs linked to
the freifunk project that can be deemed necessary of having any input. Using
template themes and the existing freifunk colour scheme (yellow, pink and
black) and veranda font type will enable use of cascaded style sheets to
manage the look and feel for a design prototype for the theme and implement
a final product for the relevant site/s.

Looking at the project’s page on input required I feel I can offer the
project more than theme work, also I would be capable of offering the
project database input based on Java, JDBC and make use of a database engine
data from forms, CSV files and other acceptable data formats that can be
imported into a working database .

An important attribute to my work will be getting the user requirements from
each group before any work is implemented and committed to any prototype,
using well defined user specifications which may be obvious for a freifunk
theme are on the other hand different for a group member’s content.
Documentation will be maintained in order record user/group requirements,
priorities, constraints, rules, design notes and records of work. The
priorities are based on the project’s ideas page and the documentation I’ll
produce will be according to the project timeline constraints.

*Theme-work Work flow*

1 Use a template theme as a working example to modify and implement a
working CMS theme for freifunk
2 Repeat same process for other CMS themes making necessary changes as each
theme might demand different an approach because of different standards.

IDE: Aptana Studio, Image Editor: The Gimp, Browsers: Firefox, Google
Chrome, Opera and IE.

Using existing theme templates for each format it would be possible to
customise themes from third party sites or any sites good sites. For
instance in each of the following a couple of sites have their own templates
that can be made use of freely;

Drupal

Drupal has various sources on the net for free templates usable, it’s own
project site has a theme main page that offers the user access to it’s many
themes, of particular interest as mentioned before is the Zen
theme<http://drupal.org/project/zen>which used as an example to modify
it suite the a freifunk or blog theme.

Joomla

It has no particular theme page from its main page, using third party sites
such;
Joomla Themes <http://www.joomlatheme.co.uk/>  Site ground
<http://www.siteground.com/joomla-hosting/joomla-templates.htm>

Modifications of usable templates with a minimum of bells and whistles of
the glitzy kind so to speak ,since most of them are oriented towards visual
elements that might not serve any purpose to a user blog or a freifunk site.

Media Wiki

MediaWiki has various sources just as any other major CMS item, Siteground
also has free templates, Siteground Mediawiki
Templates<http://www.siteground.com/tutorials/mediawiki/mediawiki_skins.htm>
Swik <http://swik.net/MediaWiki+Templates>

Typo3

Typo3 has various sites listed on its wiki, here’s one of the many that
offers some free templates:  It-bo Typo3
templates<http://www.it-bo.com/en/typo3/typo3-templates/> Typo3
wiki <http://wiki.typo3.org/index.php/TYPO3_templates_repository>
The wiki has a number of sites that offer more templates i.e. more choice.

Wordpress

On the face of it Wordpress needs a little more work than the other CMS
systems judging from my initial look in to it, the Development page offers
tips on how to create a theme from the ground up.

Wordpress Theme Development Page<http://codex.wordpress.org/Theme_Development>


Making a side note, use of the same scripting languages and tools allows use
of any existing themes to save time in order to work on more creative
features and aspects that can be reused. All the above links and sites are
just examples of what can be used for each particular case once the process
of creating three or more has been carried out, a custom model can be
derived for further use where needed.

Factors to be aware of are the versions of each Content Management System
making sure that each themes is compatible with its intended blog or site.
It also worth noting that each CMS project has a different method of
implementing templates, the main elements of the templates are always the
same involving use of Cascaded style sheets, PHP , Extensible HTML,
JavaScript and using their tutorials in most cases will suffice for the
purpose of their use without going into too much detail. Using any of the
pre-mentioned CMS formats will improve any site by utilising theme settings
made of the fonts, colours, images, rss feeds with integrated with Rich Site
Summary focus clearly visible with the use of any site/group user provided
content visible in would be rss/atom feeds seen in a rss reader as would
with email. Only missing or new features will be added dependent on the
ability of each site or blog to take on new features that it needs for
practical ends.


*Database Workflow*

*i *
Existing or new data capture methods (data capture applications/sites and
documents).
*ii*
Enforce Data integrity using validation rules and logic
*iii *
SQL Database Engine (MySQL)
*iv*
Data Capture
*v *
Database Schema
*vi*
Collected, processed, stored and organised data
*vii*
Output data accessible from freifunk's site XML, CSV files or any other
format deemed necessary.

Tools: Toad SQL Analyser, MySQL Workbench, MySQL Database for Windows and
Linux (Gentoo, Debian).

Using existing databases or creating them from scratch will require input
from freifunk group members subject to site/blog user input. I’ll build or
add upon their data base requirements using information about the database
system in place, where additional items of work such as data entry forms,
file export/import tools, data integrity using form validation, import rules
and manual review. Use of a database schema/s will be possible when I use
Toad SQL analyser which allows viewing or modification with appropriate
access permissions of database objects included, create or obtain schemas to
make changes or new additions without creating issues with regard to data
integrity.

As noted, redoing work that’s already done would be counter productive,
making use of existing database items, data capture forms or any relevant
tools makes for a practically smoother process without incurring on the time
spent working on freifunk group/user requirements.

Once all data capture issues are dealt with the next step would be to store
amendments keeping in mind user requirements, the data should be presented
to each user in any exportable format needed by any freifunk group user.

*Java work *

Since many management information systems (MIS) applications are based on
Java client server models I’ll make use of the Netbeans IDE version 6.5 to
develop and maintain any code, GUI driven database applications. Working
from the ground up my proposed system would be made with the following;

A visual JDBC Front End Application deployed using iZpack will need the
following apart from the IDE,
Java SE Development Kit,
MySQL database,
JDBC Driver for MySQL,
Sun Java System Application Server Java Database Connectivity

*A Netbeans Example*

Using examples from Netbeans.org tutorials I have presented two different
ways to develop a Java MySQL application.

Link to Figure 1: Basic Web/Java application Model,
http://www.netbeans.org/images/articles/65/web/mysql-webapp/application-structure.png

Link to Figure 2: Three tier web application example
http://www.netbeans.org/images/articles/mySQL-webapp/application-structure.png

The initial program can be designed as a two tier client server application
that can have the logic layer applied after its implementation, as the first
diagram illustrates a web page index.jsp has the root page that allows a
user to access data for modification and deletion, response.jsp will send a
response depending on the user’s actions after the first index page sends a
query add, insert, delete or modify statement. In this example obtained from
the Netbeans tutorial page shows the java file accessdb.java that handles
the logic and data processing tasks.
 It’s worth noting without going in to great the detail that based on
freifunk ideas the same model will be used making use of web pages and or
java applications all based on application requirements. The Netbeans I.D.E.
offers various facilities for developing desktop or web GUI driven database
applications. If needed it would be possible to develop mobile applications
at some later date.

*Motivation *

My interest in freifunk is based on progress wireless technologies have made
in consumer electronics; wifi is available in common devices such as games
consoles, PDAs and personal computers. The phenomenon is worldwide and is
relevant to any part of the world that has a need to share media, files and
internet access in general without being too specific. My idea would be to
present the effort directly to users of this technology in communities where
it’s needed by individuals with exposure to the wireless networks and
devices using the internet itself with search engine optimisation and social
networks. Since my initial input is based on website work later on in the
project I feel I’ll be able to contribute more to the openwrt code base with
a view to concepts such as Personal Area Networks working with existing
technology. I have coding experience of an academic background, my interest
in programming software dates back to the age of eight when I was
programming in COBOL to write submit queries to a database on a NCR server,
I have a diploma in E-Technology <http://niitzim.com/mms_software.html> that
encompasses all the aspects of web, sql/database and java development and
I'm also a first year Software Development international student at Greenwich
University <http://www.gre.ac.uk/>.

My work experience is based on part time support work on Windows, Linux,
Macintosh platforms. Using my skills I feel capable to take on the Database
output work for freifunk and CMS theme work. My Linux knowledge is
intermediate to advanced in general without focusing on development alone,
my programming experience is of hands on academic scenario and I have been
involved in computing/electronics as a hobby since eight years which has
allowed me to gain knowledge of the C programming language through self
teaching and training on the degree programme.
After go I would be interested in seeing freifunk/openwrt being more
involved in further integration with distributed storage, Bluetooth, wimax
to extend it's ability to inter connect capabilities and use of personal
area networks for devices such as phones, PDAs, and other mobile computing
platforms .

*References*

1. Freifunk Ideas Page Themes:

    http://wiki.freifunk.net/Ideas#Developing_a_Freifunk_Theme_for_CMS

2. Drupal Themes Pages, Zen Custom theme page

    http://drupal.org/project/zen

3. Joomla theme template sites, Joomla themes and siteground template theme
pages

4. Mediawiki, link for siteground page for template themes

5. Typo3 links for home pages and it-bo example theme site

6. Wordpress codex theme development page

    http://codex.wordpress.org/Theme_Development

7. Freifunk ideas home page, Databases idea

    http://wiki.freifunk.net/Ideas#Database_output_for_freimap

8 . Netbeans tutorial on web services

    http://www.netbeans.org/kb/60/web/mysql-webapp.html

9. Netbeans tutorial on creating web pages and applications driven by java

    http://www.netbeans.org/kb/55/mysql-webapp.html
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <http://mailman.freifunk.net/pipermail/wlannews-freifunk.net/attachments/20090402/5d79cbff/attachment.html>


Mehr Informationen über die Mailingliste WLANnews