[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

My Status Report for 11-3-99



Period Covered: 10.25.99 - 11.3.99

Devel/Documentation:

I finally finished up the documentation piece I promised at our last IRC
meeting.  It's the beginnings of something usefull.  It details all the
properties and methods for each object, and all functions for working with
the KB objects, including some that haven't even been implimented yet.
There are two or three places where the properties may change, and I made
note of them in that documentation so pay attention!  As I stated before -
my hope is that we follow our own examples and all begin contributing to
this type of documentation so no one person gets bogged down in doing it.
I will commit this documentation to devel so that Mike has access to it,
etc. and we may all begin contributing to it via cvs.  In the meantime,
you can view it at: http://vodka.linuxkb.org/~chardros/objectdoc.html

Dev:

Last week, before I cracked down on documentation and other mundane tasks,
I began taking a second look at the objects and started the process of
extending there functionality to include some things that developers will
be needing sooner than later.  In addition, I have also began looking at
ways to improve the speed of the object system, reduce the load they will
place on the Database, etc.  To this end I had a brief discussion with
Aaron on IRC about a PErl script that will run fairly often which will
have the function of building a LKB.cache file which will consist of a
bunch of PHP define statements.  There are certain things in the DB that
will change rarely - object structures being one of them.  Instead of each
hit querying those structures from the DB, etc. The objects's will be able
to pull them from the cache files.  Both the objects and the Perl script
will have measures put in place to prevent DB change / cache usage
overlaps that would cause serious errors for users.  Comments on this
setup welcome.

As far as functionality extensions - Daniel has already pointed out some
features I was planning on that will be needed sooner than I anticipated.
Therefore I will be reorganizing my priorities to accomidate.  Here is the
list of features I will be adding in order of priority:

1) Definable Status Flags
2) Object removal mechanics
3) Object Security
4) New Objects: Questions and Answers

1) Definable Status flags will make it very easy for a developer to define
a list of possible object statuses.  Once defined, your scripts will be
able to set and unset them even easier.  Details of this should be ready
within a week.

2) Object Removal Mechanics will define the process in which an object ios
removed from the database.  Daniel asked if it will just be marked deleted
or actually purged.  I say a combination.  It will be marked deleted
first.  The deletion markers will keep the object from showing up
anywhere, and after a certain amount of time and awareness to moderators,
etc. the object will be purged from the DB via maintenance scripts (perl?)
that run via cron.  This will all be transparent to developers and done
via the destroy_object() function.

3) Object security will require work on all developers parts.  It will add
a function that you may call from user objects called has_access().
Paramters will most likely be ObjectID and Action.  Thats not hard-fast
yet, but it will most likely look like this:

if ($current_user->has_access(19, "Edit")) {
	...
	}

I'm 99% sure thats how it will look unless I get signifigant feedback
otherwise.

4) New question and answer objects.  I'll be creating these with Dan.  He
has information on what he'll be using the objects for - so if you have
questions, I encourage you to contact him via the list preferably.

Questions, comments, harrasments welcome.

-- 
Jason
http://vodka.linuxkb.org/~chardros