Archive for the ‘SoC’ Category

mitwi back on track :)

My project mitwi which deals with “Publication of all man and info
pages for each release through a web interface” is back on track
again. Presently it is hosted under dgplug site.


When you click on the above-stated site you will get an option to
change the language in which you want to view the pages. You can
select the language according to your choice and then you will have to
click on ‘change language’. Your language is change now. Now you can
select any one of the releases. Presently only F7 release is
available. So you will have to select Fedora 7. You have to then
select one of the page types. Presently info pages are not available,
so you will have to select man. Then on clicking on ‘show commands’ it
will show you the names of commands an an alphabetical order. You can
click on any of the commands to view it’s man page.
You also have a search option where you can search a particular
command. On searching a command it’s name, page type and release will
be shown. You can click on the command name to view it’s page. If you want direct link to any man page you can use links like http://mitwi.dgplug.org/man/man1/ls.1.html

You can get this direct link in any man page opened in miwi which is at the top of the page.

There are lot of bugs which I am fixing slowly.


Read Full Post »

SoC work status

Current mitwi status:

The problem:
For any project, publication of user documentation is always a big part. Now for a GNU/Linux OS like Fedora where so many packages are part of the system, users look for the man & info pages through web also. As these documents changes very fast it is always a good idea to have permanent URLs for the docs using some dynamic technologies. And always update them for new release of the packages (in rawhide).

The solution:
Extract all man or info source files from the packages and convert them to html, then show them as requested.

The implementation:
The first big problem is to collect all pages. Collecting Man pages is little bit easier as they can be easily identified from RPM files. But it is not same for Info files. As I found, the best way to convert them into HTML is to use texi2html, but for this I need not compiled texi files. So, the generation of HTML files from the Info pages is handled by the InfoExtractor.py script. It takes SRPMs and extracts .texi files from them & then convert them to HTML. In a database, I am keeping the records of all generated HTML files so that, I can search or browse from it.

In the frontend, a simple index.cgi is doing all works 🙂 . It is showing all commands according to the releases. I encountered the second big problem here. Man pages are being translated into different languages, so one command can have multiple man pages. To solve this problem, user should select his/her preferable language first. Then index.cgi will show only pages in that language. There is a simple search option also available to search between different Man/Info pages.

The next problem where I am still stucked is permanent URIs. As this version of index.cgi is not capable of doing that, I am trying to implement it using URL rewriting.

I will be continuing my work and bring about further improvements in it soon.

Read Full Post »

mitwi test release

mitwi : my summer of code project which stands for “man info through web interface”

I uploaded the code of mitwi for the test release. You can see it here. Yesterday I talked a lot in #fedora-admin in IRC. mmgrath helped me to set up the server configurations, nman64 sponsored my RFR and skvdial gave some valuable suggestions.

The test contains only man pages from Fedora 7 and very few info pages. I will add different languages slowly (though they are present in the server). As I don’t understand css much, I took the css from http://admin.fedoraproject.org/accounts/ .

Looking forward to comments and suggestions.

Read Full Post »

[ria@localhost man]$ ls
bg  fi            it.ISO8859-1  man2   man5x  man9x         ro         zh_CN
cs  fr            it.UTF-8      man2x  man6   mann          ru         zh_TW
da  fr.ISO8859-1  ja            man3   man6x  nl            ru.KOI8-R
de  fr.UTF-8      ko            man3p  man7   pl            ru.UTF-8
el  hr            man0p         man3x  man7x  pl.ISO8859-2  sk
en  hu            man1          man4   man8   pl.UTF-8      sl
eo  id            man1p         man4x  man8x  pt            sv
es  it            man1x         man5   man9   pt_BR         tr

Never thought of l10n of man pages. So, my previous code will not work with this. The fall back idea is to get all man pages from the binary RPMs and info pages from the source RPMs. Hope will be done within tonight. 🙂

Read Full Post »

These days I was confused about the way to convert info files into HTML, I did not get anything which can directly convert info files to HTML like man2html which directly converts man files to HTML.

So as I was searching for such a tool I got texi2html ( thanks to Nigel Jones for pointing me to this ) command which can convert the info files to HTML, as info files are written in texi format. 🙂
So I realized that I have to use SRPMs in my project rather than directly using RPM files in order to get the texi files from the source. So I have changed my previous code completely as was in Extractor.py, the new one is coming very soon.

Anyway I am late in sending the time line to my mentor.

Read Full Post »

My work so far for GSoC :

Extractor.py : This file extracts man and info files from RPM files and converts these man pages into HTML pages using the man2html command.

The functions in this file are described below :

getFiles() : This function first gets all the RPM files from the first argument. Then we read the all the name of files contained in those RPM files. From these files we get the man files and the info files. We then move these files to the second argument.

extractFiles() : This function extracts the man files and the info files from the .gz files. So the .gz files are unzipped here.

convert2HTML() : This function converts the man files in to HTML files by using the man2html command.

Read Full Post »