Picon

Google Summer of Code Proposal for Theme & Database Ideas

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 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  Site ground

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  Swik

Typo3 

Typo3 has various sites listed on its wiki, here’s one of the many that offers some free templates:  It-bo Typo3 templates  Typo3 wiki  
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


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


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

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 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

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

_______________________________________________
WLANnews mailing list
WLANnews@...
Abonnement abbestellen? -> https://freifunk.net/mailman/listinfo/wlannews

Weitere Infos zu den freifunk.net Mailinglisten und zur An- und Abmeldung unter http://freifunk.net/mailinglisten

Gmane