Hi Denny,
This is a helpful start. More inline...
On Fri, Aug 23, 2013 at 8:03 AM, Denny Vrandečić
<denny.vrandecic(a)wikimedia.de> wrote:
for Semantic MediaWiki we had this already listed for
a while here:
<https://meta.wikimedia.org/wiki/Wikidata/Notes/SMW_and_Wikidata>
The list is not completely up-to-date, it reflects the previous package
structure.
It would be helpful if there was a wiki page that reflected the
current state of things. For MediaWiki core, we're trying to get into
the practice of having RFCs for changes of this magnitude, and
something of that level of rigor would be nice here too.
Jeroen and I are trying to give a more comprehensive
listing here:
1. DataValues
Dependencies:
* None
Planned or already used by:
* DataValues interfaces
* simple PHP Bots processing Wikidata data (most likely through the Wikibase
Data Model)
* Inside Semantic MediaWiki as a replacement for the DataItem
* Ask
* Wikibase Data Model
* DataValues interfaces
Note: In general, DataValues is helpful for simply handling DataValues
without having to work with them a lot. It is an extremely light weight
container for a data value.
It would be nice to have a less recursive explanation. :-) As near
as I can see skimming the code, this is mainly validation code for
data types that not native to PHP (e.g. LatLong, Time), and wrappers
for ones that are native to PHP (e.g string), providing a consistent
interface to all of them (e.g. getType, getSortKey, getArrayValue,
toArray). Is that it in a nutshell?
2. DataValues interfaces
Dependencies:
* DataValues
Planned or already used by:
* DataTypes
* DataValues Implementations
* ParamProcessor (formerly Validator). ParamProcessor in turn is used by
** Maps
** SubPageList
** Parser Fun
Note: DataValues interfaces add the functionality to parse, format, and
validate data values, i.e. services on top of DataValues if further
functionality is required.
Is this the code that's currently in ValueValidators?
3. DataValues implementations
Dependencies:
* DataValues interfaces
Planned or already used by:
* Semantic MediaWiki
* Semantic Maps
* Semantic Result Formats
* Wikibase client
* Wikibase repo
Note: These include more complex implementations of DataValues like Time and
Coordinates, which are not used in simpler systems.
Is this basically an expanded set of DataValues interfaces, base
DataValues, or something else?
I'll respond more on the other bits later, but I wanted to make sure I
at least got this response out now.
Rob