Граф коммитов

364 Коммитов

Автор SHA1 Сообщение Дата
ian%hixie.ch fe6643848b * Moving 'type' to the front of the list of things returned by the User data source's 'getField*' methods so that they map more directly to the user field constructor arguments
* Moving 'typeData' around in the order of the user field constructor arguments to match the User data source's 'getField*' methods so that, again, they map more directly
* Renaming the 'getFieldFrom*' methods to 'getFieldBy*' to be consistent with 'getUserBy*'
* Implemented UserFieldFactory.pm
* Implemented Passwords.pm
2001-05-28 23:43:56 +00:00
ian%hixie.ch e60cd56ae6 * Correcting a typo in Input.pm
* Added a comment to DataSource/User.pm explaining how (typically) to search for a username
* Fleshed out the DataSource/User.pm API by adding some schema management methods
* Added notes on which fields in the database schema should be keys
* Added comment to Service/User.pm noting the difference between Objects, Services, and Service Instances
* Changed 'user.field.factory' to 'user.fieldFactory' to prevent a namespace collision with 'user.field.(type)'
* Calling 'insertField' in one case which I missed when adding the method
* Implemented 'hash', 'joinGroup', 'invalidateRights', 'writeProperties' and 'writeGroups'
* Changed Service/UserField.pm so that one user field class can be used for any category
* Added a 'username' convenience method and implemented 'write'
* Added a comment to Service/UserFieldFactory.pm explaining how it should work
* Removed the 'user.field.generic.generic' field implementation, replaced it with a simpler 'user.field.string' implementation
2001-05-28 20:09:23 +00:00
ian%hixie.ch 1ffb74226d Added some minor corrections and clarifications to the documentation.
Added some comments to various user-related files.
Factored out some code that started becoming common when inserting fields in Service/User.pm.
Added code to deal with adding new contact details.
Added code to support removing fields from a user.
2001-05-24 07:06:41 +00:00
ian%hixie.ch d9c627c0b9 Started work on fleshing out the user components. This is still work in progress. 2001-05-14 06:45:08 +00:00
ian%hixie.ch 76a1624abe Initial checkin of the Field part of the User work. Just ideas at the moment, nothing here is implemented, and much of it is likely to change. 2001-05-13 20:54:35 +00:00
ian%hixie.ch 57c85fb025 First pass at adding User objects (derived from Session). Lots of XXX code -- none of this works, it's basically all stubs.
In addition to the code that actually does stuff, I still need to add a MySQL implementation of the data source and the Field class and its associated Factory.
Also added Passwords.pm (stubs for a password generator and encryptor) and made Session objects store a pointer to the controller object.
2001-05-13 18:11:54 +00:00
ian%hixie.ch a47f424255 Added a bit more support for objects (as opposed to services): added a new objectCreate() constructor and an objectInit() method.
Added an optimisation to Controller.pm so that service names will be hashed once accessed. This should make multiple accesses of the same service a lot quicker. To go with this I added some diagnostics code (on exit) and moved the code around a little bit.
Fixed a minor transgression of the coding style guidelines in Magic*Array.pm. :-)
Neatened up the code in Output.pm.
Made it so Session objects assume they have an 'app' property, and so don't need to be passed $app all the time. (Sessions are objects now.)
Added an unimplemented getAddress() method to the Session class.
2001-05-13 18:04:52 +00:00
ian%hixie.ch b211b52c46 fixing two rather serious (albeit simple) bugs in the strings data source; adding a comment to Input.pm in preparation for doing the user authentication stuff 2001-05-13 05:52:24 +00:00
ian%hixie.ch 0ecf1d5628 adding some progress messages to the setup output; making COSES more resilient to invalid input 2001-05-08 00:05:42 +00:00
ian%hixie.ch 572285560e Slight changes to make output code more flexible 2001-05-07 07:04:17 +00:00
ian%hixie.ch b8a735d31d * fixed the methodMissing() method so that it actually is possible to use it to do method dispatching;
* factored out some of the method dispatching code by adding a dispatchMethod() method to the controller;
* turned the Dispatcher class into simply a function on the base Service class and removed Dispatcher.pm;
* made it possible for services to be both services and objects and provide different services depending on which context they were called in (and used this to make the AdminCommands module actually do what it was intended to in the first place, namely, only work for CommandLine access);
* fixed it so if a service is first created by getServiceList the constructed version will actually be cached;
* made output more generic by allowing services to implement arbitrary parts of the output API, used that to make AdminCommands usable without requiring additional code to support it;
* added some documentation;
* added some dump(10) statements to help debugging;
* fixed the string datasource SQL;
* fixed the DBI database so it can handle errors;
* added tableExists API to the DBI database helper.
Thanks to myk, justdave and zach for some ideas.
2001-05-06 06:26:24 +00:00
ian%hixie.ch aac5db9914 Made the lack of a configuration file be non-fatal (and factored out the low level code while I was at it). We need that so that the configuration data source can actually go in and create the configuration file if it is missing; otherwise the program exits with "no configuration file! waah!" before you get to the configuration-file-creation code! 2001-05-05 19:00:06 +00:00
ian%hixie.ch 1dc1d947ea Implementing (and documenting!) PLIF::debug() as suggested by zach. a=hixie 2001-05-05 18:28:08 +00:00
ian%hixie.ch 0baba2d269 work in progress 2001-05-05 07:12:56 +00:00