GSoC Update: Week 9: GXml
- From: Richard Schwarting <aquarichy gmail com>
- To: gnome-soc-list gnome org
- Subject: GSoC Update: Week 9: GXml
- Date: Sat, 23 Jul 2011 16:54:41 -0400
Hello list!
This week has proven interminably long. Work has surrounded two main tasks
- libgdata port: I'm porting libgdata as a test. The patch
is almost complete, but not quite. It replaces almost all the libxml2
usage and compiles. It's volatility means that I'm linking a diff patch
rather than pushing it to a repo, as up until Thursday, I was still
figuring out how to handle specific cases, or changing my mind on how I
was already handling them.
- memory: I don't have a great understanding of how to handle
memory for APIs that were generated through Vala, and I need to review
that. I've learned a lot, but some of the Vala documentation is kind of
out-dated, like that on transferring ownership. Perhaps when GSoC is
done I can use what I've learned and update the documentation :D
- namespace support: It isn't part of DOM Level 1 Core that
we're implementing, but libgdata uses namespaces, so right now those
sections are commented out or ignored. I will try to implement
something in this next week.
- verbosity: While some things are smaller/more concise using
GXml, other stuff is more verbose, because libxml2 already has a compact
naming "convention". After writing "gxml_dom_..." a hundred times,
I'm considering removing the "_dom_" namespace section, so
GXml.Element.get_attribute () will be gxml_element_get_attribute ()
rather than gxml_dom_element_get_attribute (). The Dom namespace is
there to help separate future work from SAX and XPath, but enough of its
classes will be used in other namespaces to justify omitting Dom to me.
- porting guide: I have a text file that outlines common
mappings for things, like "how to get a property in GXml" and compares
against libxml2. I'm going to move it onto live.gnome.org when I have
time to format it.
- documentation: with a little bit of help, and a new
conceptual understanding of what valadoc's options do, I can now
generate documentation. Each class and method has something written
about it now, though some of it is vague, some is inaccurate (!), and
some of it could do with examples. I'll note that I'm annoyed that it
complains when I use a double-space after a period.
- sed: it is my friend. After hand-porting lots of code for
libgdata, I eventually got comfortable enough with the process to start
automating it by creating a bunch of sed rules. That sped things up
greatly this past week, though it still left me to manually review and
fix the things it missed, which sometimes took extra time because it
became hard to see what was originally intended. Hehe.
- Desktop Summit:
- Hooray!
While
I'm only a GSoC student, living in Canada, I wouldn't have been able to
afford this myself, so I am incredibly grateful to the GNOME
Foundation, since I am
I'll
actually be in Germany for about 3 weeks, as my parents are both from
Germany and I have many relatives there, and have never been before.
- I am going to sleep now. Tomorrow is a big, terrifying day.
Cheerio!
Richard
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]