Web Forums Export/Import Standard: Progress Updates

5 views
Skip to first unread message

Dan Larkin

unread,
Jun 3, 2008, 11:55:40 PM6/3/08
to WordPress Summer of Code 2008
I'm going to keep all my progress updates in one thread for
organization purposes (and also so you can filter it out if you don't
want to hear about it). Mostly I'll be doing the actual write-ups on
my blog and linking it here.

Week 1
======

Import/Export Standard: Working Draft
http://www.stealyourcarbon.net/2008/06/import-export-standard-working-draft/

bbPress Exporter: Procedural vs. Class-Based
http://www.stealyourcarbon.net/2008/06/bbpress-exporter-procedural-vs-class-based/

Sam Bauers

unread,
Jun 4, 2008, 4:27:29 PM6/4/08
to wordpress...@googlegroups.com

On 04/06/2008, at 1:55 PM, Dan Larkin wrote:

> Week 1
> ======
>
> Import/Export Standard: Working Draft
> http://www.stealyourcarbon.net/2008/06/import-export-standard-working-draft/

Including user pass might be controversial, but I think if the script
is sufficiently locked down it isn't a problem.

You will want to add an attribute to the user pass indicating the type
<pass type="phpass">blah</pass> types would include at least phpass an
md5 for bbPress

The format looks a lot like mdawaffe's original format. Have you
explored the idea of using an extension of the RSS2 standard?

BackPress is now pretty easy to extend and customise to different
table names and databases. You can include the BackPress files in your
SVN as externals, that way you never have to merge them.

Performance won't be a huge issue except where you find yourself
looping over large amounts of data and trying to write them out to
files. The problem there won't be so much procedural versus object-
oriented as it will be in optimising the loops themselves. You do this
by keeping logic and conditionals within the loops to a minimum
(especially loops within loops) and making good use of transformations
that can occur in the PHP engine via native php functions, rather than
in your own logic (e.g. reducing datasets using regular expressions
through preg_grep() and friends).

When I said "use a class" I guess I was being sloppy in my
explanation. What I mean is "make your code generic enough to be re-
usable". How I would do that is by writing a base class which could be
extended for each platform you write a plugin for. So the base class
would be "Class BBXR()" and the extensions would be "Class
BBXR_bbPress() extends BBXR()" and contain the platform specific
modifications. But that's just how I would do it, mostly because I
like clean namespaces. There isn't much or perhaps any significant
speed benefit in object over procedural considering your aims.

Sam


---------------------
Sam Bauers
Automattic, Inc.

s...@automattic.com
http://automattic.com
http://wordpress.com
http://wordpress.org
http://bbpress.org
http://unlettered.org
---------------------

Dion Hulse / DD32

unread,
Jun 4, 2008, 8:55:22 PM6/4/08
to wordpress...@googlegroups.com
On Thu, 05 Jun 2008 06:27:29 +1000, Sam Bauers <s...@automattic.com> wrote:
> When I said "use a class" I guess I was being sloppy in my
> explanation. What I mean is "make your code generic enough to be re-
> usable". How I would do that is by writing a base class which could be
> extended for each platform you write a plugin for. So the base class
> would be "Class BBXR()" and the extensions would be "Class
> BBXR_bbPress() extends BBXR()" and contain the platform specific
> modifications. But that's just how I would do it, mostly because I
> like clean namespaces. There isn't much or perhaps any significant
> speed benefit in object over procedural considering your aims.

Thats what i was thinking of when i read those comments
The base class would write the file & form the data structure into your
format
The extend'd classes would be for a specific application and would mearly
read the data in to be handled by the base class, Any changes to the
writing class for extra fields or supporting extra functions would be
available to all the importers.

Dan Larkin

unread,
Jun 4, 2008, 9:31:14 PM6/4/08
to wordpress...@googlegroups.com
Ah, yes.  I understood that there would be a base class with software-specific extensions for handling all the exportation/importation tasks.  I apologize for the fact that my blog post focused on the database class.  I did that because at the time, it was the part that I was still trying to get my mind around.  I plan to use the BPDB class (with modifications if necessary, though they should be minimal if any) to interface with the databases alongside something like BBXR to handle the real work.

Dan

Dan Larkin

unread,
Jun 9, 2008, 2:16:57 PM6/9/08
to WordPress Summer of Code 2008

Dan Larkin

unread,
Jun 16, 2008, 4:28:23 PM6/16/08
to WordPress Summer of Code 2008

Dan Larkin

unread,
Jun 23, 2008, 1:00:56 PM6/23/08
to WordPress Summer of Code 2008

Kodie

unread,
Jun 26, 2008, 1:23:38 PM6/26/08
to wordpress...@googlegroups.com
Hello,

I'm sorry I haven't been writing here. I forgot totally about it and I
have totally horrible exams.

Project aims to improve search capabilities of Wordpress. First step was
to create new search framework which will enable using many different
search plugins. Thanks to this framework, developers will be able to add
new search engines just by installing new plugins (yes, search engines
will be packaged as normal plugin).It's almost done at least it first
version. I assume I will have to change a few things or write new
something new, but as it is now one can add new plugins and perform
search. Framework is integrated into wordpress code.

Some plugins require old plugin interface and maybe there are people who
need to support old searching system. I've created backward compatible
engine. It's still need to do some fixes and clean up, however, it is
working fine.

I've started to develop new search system for Wordpress. I will try to
upload some files with class and entity diagrams soon.

Cheers,
Kodie

Dan Larkin

unread,
Jun 30, 2008, 3:33:27 PM6/30/08
to WordPress Summer of Code 2008

Kodie

unread,
Jul 6, 2008, 2:27:25 PM7/6/08
to wordpress...@googlegroups.com, Hailin Wu
Hello everyone,

I would like to post here next update about my project. I couldn't post
it earlier because I haven't got access to internet. Anyway, here is
what is done, etc...

So this week (or a bit more) I concentrated on polishing new search
engine. It has almost all necessary functionality. You can search
through post, pages and comments. You can exclude words, search only in
title or by author. There is implemented pagination and basic support
for standard the_* functions. I have problem with the_permalink and few
more. I'm not sure if I will be able to fix this without changing
the_permalink function and I really don't want to do that. Searching
using date isn't implemented yet, I will be working on it later.
However, my main problem is with exact phrase queries (those in " ")
because searching in full content will waste much time. In fact doing
this would make index unusable. I have idea how to cheat this a bit
however I will have to see how that will work. I spend some time on
benchmarking and optimizations. I have to SQL queries which allow
searching. One is much faster, however, it has only very limited
application. I postponed my further work on performance to latter stage.
I feel that current performance is good enough (at least for that stage).

Indexer has implemented support for stopwords, so in index there will be
no common words (like and, or, this, etc...). It has problem with
displaying comment author yet (searching for those comments using author
works), but I should fix this soon.

I've created also admin panel for my plugin. It displays what documents
are indexed and enables to remove documents (posts/pages/comments) from
index. You can also clear index or rebuild it.

Adding new type of document should be really easy. Framework and plugins
doesn't invoke any actions nor filters. I have to think what actions or
filters would be usable.

I'm open for any ideas and suggestions. I will show something working soon.

Best wishes,
Kodie

Dan Larkin

unread,
Jul 8, 2008, 12:39:40 PM7/8/08
to WordPress Summer of Code 2008
I'm a day later than usual, but here it is...

Week 6
======

Midterm Progress
http://www.stealyourcarbon.net/2008/07/midterm-progress/

Dan Larkin

unread,
Jul 14, 2008, 1:16:01 PM7/14/08
to WordPress Summer of Code 2008

Dan Larkin

unread,
Aug 4, 2008, 5:02:12 PM8/4/08
to WordPress Summer of Code 2008
Whoops. I've missed a few progress reports, due to vacation and the
such. Well, however many weeks it is I'm reporting on...

phpBB3 and Vanilla Exporters and Importers
http://www.stealyourcarbon.net/2008/08/phpbb3-and-vanilla-exporters-and-importers/

On Jul 14, 12:16 pm, Dan Larkin <niteph...@gmail.com> wrote:
> Week 7
> ======
>
> bbPress Importerhttp://www.stealyourcarbon.net/2008/07/bbpress-importer/

Dan Larkin

unread,
Aug 11, 2008, 5:30:45 PM8/11/08
to WordPress Summer of Code 2008

Dan Larkin

unread,
Aug 23, 2008, 3:14:05 PM8/23/08
to WordPress Summer of Code 2008
Reply all
Reply to author
Forward
0 new messages