My Diary

From CSWiki

Jump to: navigation, search

Contents

[edit] Week Ending September 1 2007

During the class I had given a presentation about my project from the prospectus page and based on some discussions made during my presentation I have decided that that wikibook has an external editor option where users can edit wikibooks externally so this can be integrated with the second module part of the project and when this integration is done users can edit wikibooks externally and then save them as a wikibook.

This week I tried to answer to the comments by Professor Abbott. Edited the prospectus page made more necessary changes to add more information to the High level Architecture section of the prospectus and also edited the Brief project specification section to make more clear picture of what I will be doing in this porject

In this Week I have also looked for, if I can develop an open source wiki in java rather the ones in PHP because that can help make Document writer and any other features to be added to the Java wiki easily by using Servlets Jsp and Java applets and java, rather than the problems I am having to deal with writing the extension in Media Wiki. So I looked on the internet if there were any opens source wiki in java that is already available and I found some Open source wiki in Java here

One of the most interesting one of all those Java wikis I have seen here is JSP wiki
Its a WikiWiki web clone written using JSPs and Servlets


Another one wiki in java with more features is the XWiki
XWiki is a WikiWiki clone written in Java which supports many popular features of other Wikis like:

  • Wiki syntax (uses Radeox engine)
  • Content management (view/edit/preview/save)
  • Version Control
  • Attachments
  • Rights Management
  • Full-text Search It also has many advanced features that many other wiki engines lack:
  • Document Templates to ease creation of common documents.
  • Relational Database storage using Hibernate.
  • Design Engine for Meta-Data and Forms.
  • In-place (inline) editing of form information in pages.
  • Powerfull programming API in documents.
  • Search API for more detailed searching in the Meta-Data.
  • Plugin System in Java.
  • Plugin compatibility layer in perl with some TWiki plugins.
  • Scalability and Performance using J2EE.
  • Complete Skin System (templates content as well as CSS).
  • RSS output and display of external RSS feeds
  • Multi-Lingual capabilities
  • XML/RPC Remote API
  • Portlet Integration
  • Groovy scripting support


Another Wiki that can be used with or without a database is JAMWiki
JAMWiki is a Wiki engine implemented using Java/JSP that attempts to provide much of the functionality of MediaWiki. It can be run with or without a database and is designed to be fast and easy to set up.

If I decide to go with a wiki base in java I will select one of the wiki from the above three wikis because from my research I have found that these 3 are the best Java wiki out there. And after deciding the Project specification I will hopefully choose the best one from the three which fits my project needs and which is most flexible one for my project

[edit] Week Ending August 25 2007

As per the comments of Dr.Abbott on the Prospectus page I have looked into the request of extensions in wiki from other developers and users http://www.mediawiki.org/wiki/Project:Extension_requests

The various extension request made are present on the above page most of the extension request made are about small extensions like Internal link Preview, Time Management/Tracking, Wikitext help annotator

One of the extensions which is related to my projects is the Import from non-wikitext files (ex. Word documents, HTML files) this extension is used to import from non-wiki text files like MS-word documents and HTML files to the wiki.

Extension Matrix also has a lot of extensions basically small extension that can be done by minor changes in the media wiki code or adding more php files.

Some of the extension on Extension Matrix are already present in the Media Wiki.

But on the whole these extension are very small parts which cannot be worked as a MS Project from my understanding because these extensions can be implemented in media wiki by just change some bits of code or adding new code.


Also looked into Mediawiki forums but haven't found any request from the adminstrators/users/developers for any extension request in the forums


[edit] Week Ending August 18 2007

This week I have worked on the Project prospectus by explaining the high level architecture in detail and also the project specification in brief.

I have looked into MediaWiki's technical manual which is online, to get a better deeper understanding of how it works.

And studied the layout of the Database of the MediaWiki what are the tables and what is the purpose of each table and the relation between the tables that exists in the database. http://upload.wikimedia.org/wikipedia/commons/4/41/Mediawiki-database-schema.png


Also worked on the flow chart for a diagrammatic representation of the program flow which is yet to be completed as soon as I decide the remaining components.


I have learned the PHP prototypes where object oriented programming can be done in PHP.

The following are the websites I have referred to learn PHP in order to know PHP to be familiar with the Mediawiki as Mediawiki is written in PHP.

http://www.w3schools.com/php/default.asp

http://www.php.net/tut.php


[edit] Week Ending August 11 2007

As per stated by Dr.Abbott in the class during my presentation to look into wikibooks and try to make a option for printing the books in the user desired format (pdf or doc or print version etc..).

I have explored wikibooks and found out that that it needs some functionality to export the books into pdf or doc format (some of the books on the website are in pdf format but they have to be manually generated by the user and should be uploaded http://en.wikibooks.org/wiki/Wikibooks:Print_versions#PDF_versions page has the explanation about that)

I tried to create a book and a module and try to find out how the structure of wikibooks is organised
The following is the picture depicting how the wikibooks wiki is divided based on departments/bookshelf/book
Image:struct.jpg

I have researched to look for libraries to convert from text or html to pdf fromat and was successfull in finding a php library for converting text to pdf fromat from this I can retrieve the text from the database of the wikibooks and probably convert those to pdf formats.
I have also thought about having an option that if the users on wikibooks have an option to upload a pdf /doc file(which is a text book) to wikibooks and it converts to wikibooks format where one can edit the book/pages would be very beneficial to users who have already written their text booksin pdf or doc and just want to make it a wikibook.
For this I needed something that converts from pdf to text I have googled for libraries for pdf to text conversion but there is nothing open source all are commercial, but I am still researching if I can write my own API / library to convert from pdf to text (based on this reference provided by Adobe http://www.adobe.com/devnet/pdf/pdfs/PDFReference15_v5.pdf) then I can use this api to generate from pdf to text and then to wiki format for the user to be able to convert any pdf to a wikibook.


In order to get started I have downloaded Mediawiki the engine that runs the wiki and it is built in PHP. I have tried to install it but having php problems with my server so still trying to figure what is wrong. I have learned PHP from online tutorials.

The following are the websites I have been referring to learn PHP in order to know PHP to be familiar with the Mediawiki as Mediawiki is written in PHP.

http://www.w3schools.com/php/default.asp

http://www.php.net/tut.php



[edit] Week Ending August 4 2007

I have decided to take the writers IDE project for the Wiki based system where I can add more features to the Wiki based system so that one can use it as a platform for writing documents and editing them and also searching the documents. For Now I have come up with the following ad-ons for the Wiki I might add more features as I go on hopefully.

  • A rich text editor containing many new document writer features (ex: drawing tools)
  • Ability to search the embedded documents spreadsheets and pdf files along with the wiki pages.
  • A collaborator tool that lets the user know who else is currently editing the document and will also tell the user if the page is updated while he is editing and if he wants to reload the page.

I have learned PHP from online tutorials.

The following are the websites I have referred to learn PHP in order to know PHP to be familiar with the Mediawiki as Mediawiki is written in PHP.

http://www.w3schools.com/php/default.asp

http://www.php.net/tut.php

At the same time I am also looking into another project which is more challenging and a very new concept This project is about Intuition Intelligence in mobile devices specially mobile phones.

Description: This project is about learning techniques for mobile phones where a Mobile phone using its learning techniques minimizes the user input eventually by learning the way how user navigates through the cell phone every time and it reduces the users interaction time and complexity.

Image:Data.jpg

Above is a graphical representation about implementation and placement of intuition intelligence and enrichment learning in a desired system

CS590 Class: In this weeks class I have given a presentation about the prospectus of my project the document writer IDE for the wiki. And as per the discussion some of the features I am trying to implement exist already in Wiki in similar or slightly different forms. And Dr. Abott suggestion is to implement feature for wikibook where the user can export that book in his desired format, sounds very interesting to me.

This week I will look into it and see what are the possible ways in which a html format pages can be converted into the user desired format


[edit] Week Ending July 21 2007

During this week I have looked into some open source projects in Java in order to decide for my MS projects.

I wanted to extend one of the open source projects in java.

One of the projects is OSCache it is a caching solution that includes a JSP tag library and set of classes to perform fine grained dynamic caching of JSP content, servlet responses or arbitrary objects

Also one of the other intresting project is the search engine Egothor. Egothor is an Open Source, high-performance, full-featured text search engine written entirely in Java


[edit] Week Ending July 14 2007

During this week I have tried to play with some examples that comes with the Google web toolkit in order to get a exact understanding of how it works and try to find if more features can be added to GWT which can serve as my MS project but haven't really come up with anything intresting.



[edit] Week Ending July 07 2007

This week(07/01 to 07/07) I have prepared my presentation. I have decided to give a presentation on Google web Toolkit an open source Java software development framework that makes writing AJAX applications easy for developers who don't speak browser quirks as a second language.

You can view the slide show of my presentation here

Media:Gwt.ppt


More Information about GWT is available here.
Google Web Toolkit


You can download GWT here.
Download Google Web Toolkit

Its easy to get started with Google Web Toolkit


Some of the questions raised during my presentation are answered here in detail.

Question(Dr. Abbott): Can other developers contribute to Google web Toolkit.
Answer: Yes. Any one can contribute to the Google web toolkit here is the link for the Contribution page .
To join the GWT project click here

Apparently when first released it wasn't open source. Now it is.

Personal tools