GSoC - 8th Report

hi all,

This is my 8th status report (20 July to 1 August).

In the last two weeks I wrote the support to XML Processing Instructions, did some fixes in trunk and wrote some proof-of-concepts about how to test PhD. Now is time to write tests. We're also planning to implement a new feature to allow the use of customized indexers.

Now the IDE-Package(package to create output formats to help the PHP IDEs, and create funclist.txt and friends) is in trunk, in the Package dir. For while the IDE-Package is an extra work, I'll pay more attention to it after GSoC.

We decided to focus in fix the bugs in trunk, write tests and implement support to multiple indexers, so the packages to render the books Docbook: The Definitive Guide and Producing Open Source Software will be written when the priority tasks are done.

New classes:
PIHandler: Abstract class for the Processing Instructions Handlers
PI_DBHTMLHandler: Class to parse the DBHTML Processing Instructions

Closed Bugs:

funclist.txt output format

Proof of Concepts for testing PhD

Write more tests
Implement suport to multiple indexers
Fix bugs in trunk/


GSoC - 7th Report

hi all,

This is my 7th status report (05 July to 19 July).

This week I fixed some bugs, made some improvements in the factory system (now the formats are dynamically loaded, no more predefined formats), some refactorings in the Format classes and started reading about XML Processing Instructions and dbhtml.

This weekend I started writing an example Package (to render the Philip Olson's alpha especification of an IDE function, in the next days I'll write a brief documentation about how to write and run your own PhD Package.

New classes:
Package_PHP_PDF: Class to render of the xhtml formats
Package_PHP_BigPDF: Base class of the xhtml formats
Package_PHP_KDevelop: Base class of the xhtml formats

Format_Abstract_PDF: Abstract base to the PDF format and the PDF Wrapper
Pakage_Default_PDF: Class with the (element|text)maps and format_ functions

Improvements in the Factory system.
Some refactorings in the Format classes.

Design the XML Processing Instructions support (dbhtml).
Start coding the dbhtml support.

GSoC - 6th Week

hi all,

This is my 6th status report (28 June to 04 July).

This week was very productive, I wrote all the xhtml formats from the PHP Package (chunked, big, web, howto) and the manpage output format (functions) \o/. Now I have to port the PDF and CHM formats. After that, tests and remove the old code from HEAD (maybe a new release? :) ).

Now is time to make the midterms evaluations.

New classes:
Package_PHP_XHTML: Base class of the xhtml formats
Package_PHP_BigXHTML: Big html format
Package_PHP_ChunkedXHTML: Chunked html format
Package_PHP_Web: The .php chunked format
Package_PHP_HowTo: Other .php format
Package_PHP_Functions: The Manpage output format \o/

Format_Abstract_Manpage: Abstract base to the manpage format
Pakage_Default_Manpage: Class with the (element|text)maps and format_

Implemented the functionality(refs, classes, vars) of the mktoc.php file using the SQLite Indexer. Now we don't need the mktoc file. Bug fixes in the Default Package.

Fix bugs in the PHP Formats
Begin porting the PHP themes:

Write the Abstract Formats:

GSoC - 5th Week

hi all,

This is my 5th status report (21 June to 27 June).

This week I wrote the Pear Formats: bigxhtml, xhtml and php \o/. A lot of fun, some problems with the indexer and a lot of code. The SQLite indexer needs some fixes (some broken TOCs and links). Now I have to port the PHP Formats, a LOT of work to do, I think this week will be most difficult of my project, and also the most fun.

New classes:
Package_Pear_XHTML: Base class of the xhtml formats
Package_Pear_BigXHTML: Big html format
Package_Pear_ChunkedXHTML: Chunked html format
Package_Pear_Web: The .php chunked format.
Package_Pear_CHM: The CHM output format, not finished yet

Bug fixes in the Index class
Bug fixes in the Default Package

Fix bugs in the Index class
Fix bugs in the Pear Formats
Begin porting the PHP themes:
Begin writing the Abstract Formats:

My only concern is because we have to many php themes, but I think two weeks will be enough to port all of them.

GSoC - 4th Week

hi all,

This is my 4th status report (14 June to 20 June).

This week I wrote the Default package, that will be the base of the next
packages (TDG, ProducingOSS). Also I started porting the Pear Themes to the
new design.
PhD now is working with namespaces and pear conventions \o/, kudos to
Christian Weiske that made the changes so fast. One day I'll be as fast as
you guys ;)

New classes:
Package_Default_XHTML: Base class of the xhtml formats
Package_Default_ChunkedXHTML: Chunked html format
Package_Default_BigXHTML: Big html format
Package_Default_PHP: PHP format, working only with the phpdoc yet.

Started porting the Pear Themes to the new design:

Merged the code of Theme, Theme_XHTML, Helper, with the Format and
Format_Abstract_XHTML classes.

Port the Pear Themes to the new design (Using the SQLite indexer/Remove
the legacy code from HEAD)
Fix bugs in the Default Package

In the Pear Themes we have a CHM theme and I have to study this format
before code, I think this task will spend more time to be done.

GSoC - Third Week

hi all,

This is my third status report (7 June to 13 June).

This week I proposed a design for merging PhD Enterprise to HEAD With that design we will be
able to use all the features of PhD Enterprise and the current output
formats of HEAD (using adapters), the formats will be grouped in packages
and the packages are pluggable. We will reuse almost all the classes of PhD
Enterprise, the PhDFormatFactory class was written in my first week. To
reuse the themes of HEAD is necessary to write packages to adapt them to

This week I also begin coding the abstract formats and the default package.

In my schedule the current task is "Make concrete formats plug and play" but
it's already done, so my tasks now are:
- Discuss the interface of the abstract formats.
- Finish coding the Default package.
- Begin porting the old PhD Themes to the current design.

Important Note: This week we are planning to begin moving PhD to use the
PEAR filename and class convention.

GSoC - Second Week

Hi all,

This is my second status report (31 May to 6 June).

This week I began merging stuff from PhD Enterprise to HEAD. The Enterprise
branch has a really better design than HEAD. The indexer is storaged on a
SQLite database, some design patterns were used and there are not themes,
only output formats. On the other hand, Enterprise is no longer updated and
doesn't have as many output formats as HEAD. As I said in my last report
I'll make this merge throughout the project, the main difficult is because
the design is very different in both the versions.

In fact, this week I began killing the themes in PhD :), and merging the
code written on the first week (the --package option) to HEAD. My main task
now is separate the formats in abstract and concrete classes. The idea is
make easy write your own PhD output format.

GSoC - First Week

Hi all,

This is my first GSoC Status Report and I'll tell you about the Community Bonding Period and the first week of GSoC.

Community Bonding Period

During the Community Bonding Period a was reading the documentation about DocBook, understanding the code of PhD and learnig important things to the project. I also started to familiarize myself with the community. We agree in to start coding the project in May 23th and the deal was: while you don't have patches, no CVS account :).

1st Week

In my first week, I began coding a new feature to PhD: the --package option. With this feature you can simply paste the format classes in a folder and PhD will automatically detect them.

Example: If you have a new package of formats called PHP-GTK, all you have to do is paste the package in the packages/ directory and run PhD:

phd -d .manual.xml --format xhtml --package PHP-GTK

The design was discussed on the mailing list as well as in our IRC channel. I'm trying to listen the opinion of each member of the community before make decisions. I submitted the patches for reviewing and now I finally have a CVS account \o/.
This feature is a very important to make PhD more generic and flexible. Now, we don't need modify the main code of PhD to add a new format. For while the --package option is only available in PHD_ENTERPRISE.

My task now is begin merging stuff from ENTERPRISE to HEAD, this is not a simple task and I'll do this throughout the project.

see you next week!

Hello World

Hi all,

My name is Moacir de Oliveira, and i'm from Brazil.
I live in a city called Manaus in state of Amazon, in the north of Brazil.

I like programming, guitars and heavy metal bands \m/.

In this blog i'll post my GSoC status progress and maybe post about other things like programming or music.

It's my first GSoC and i'm so excited in join in a opensource community :D, my project is called PhD Improvements (Plugin System).

Well, this is just an introductory post, in the next, i'm gonna write more about my project and PhD's community.

see ya

Life is good!