> Should it be part of the FAQ?

I'm not sure - I feel like it should probably be part of the developers docs.

Dave - should I add this under docs?

> I think you need to expand the Fictional section to talk about the
> suggested naming scheme.

I added some pieces of the original thread.

> > =item * DateTime::Calender
>
> Typo.

Fixed.

Thanks,

-J

--
=pod

=head1 DateTime::* Namespace Guidelines

This document attempts to define the the various 2nd tier C<DateTime> namespaces and 
the appropriate functionality of modules residing there.

=head2 Namespace Allocation

C<DateTime::*> namespace is allocated by the C<[EMAIL PROTECTED]> mailing list.  Do 
not create a new 2nd tier namespace without first seeking approval from the list.  
Unless specifically noted as C<open> most 2nd tier namespaces are not available to 3rd 
party developers.

=head2 Authors

All DateTime authors are encourage to

1) consult the C<[EMAIL PROTECTED]> mailing list before uploading any module.

2) register their module's namespace with PAUSE.

=head2 The Namespaces

Currently there are 14 2nd tier namespaces in the DateTime Suite.

=over 4

=item * DateTime

Obviously this is the root namespace. C<DateTime.pm> is the generic DateTime object 
implementing the Gregorian calendar.

=item * DateTime::Calendar

Modules implementing calendars that can be converted to/from other C<DateTime> and 
other C<DateTime::Calendar::*> objects.  Please see C<datetime-calendar.pod> for 
developer documentation.

This is an C<open namespace>.

=item * DateTime::Duration

This is a simple class for representing duration objects.
These objects are used whenever you do date math with DateTime.pm.

=item * DateTime::Event

Modules implementing the occurrence of an event.

This is an C<open namespace>.

=item * DateTime::Fiction

Conceding that all calendars are merely imperfect human works is a requirement before 
placing your module here.

"Weighing in late, but I just don't buy the idea that a "fictional"
calendar is any more fictional than, say, the Discordian or Napoleonic
calendar. All calendars are the creation of some human - they are all
artificial in some respect. Squirreling these away in some other name
space seems even more artificial." --Rich Bowen

This is somewhat of an unusual namespace.  It is intended for modules implementing 
calendars from fictional works.  This namespace is exempted from the requirement to be 
interpretable with C<DateTime> and C<DateTime::*>.  It is suggested that the namespace 
include the author's name at the 3rd/4th tier.

For Example:
    DateTime::Fiction::Brust::Steven::Dragaera
    DateTime::Fiction::Sony::Utopia
    DateTime::Fiction::Tolkien::JRR::MiddleEarth
    DateTime::Fiction::Bear::Greg::Mars

This is an C<open namespace>.

=item * DateTime::Format

Modules capable of parsing specific Date/Time formats and/or being able to format 
strings.

This is an C<open namespace>.

=item * DateTime::Infinite

Infinite past and future DateTime objects.

=item * DateTime::Language

The current implementation of DateTime language localization. C<DateTime::Language> is 
the base class and also provides a module loading facility.  All modules under 
C<DateTime::Language::*> need to inherit from C<DateTime::Language>.

=item * DateTime::LeapSecond

Leap seconds table and utilities.

=item * DateTime::Locale

The new implementation of localization support for DateTime.

This is as of yet unreleased.

=item * DateTime::Set

DateTime sets and set math.

=item * DateTime::Span

DateTime time-ranges.

=item * DateTime::SpanSet

Sets of DateTime spans.

=item * DateTime::TimeZone

Time zone objects and base class.

=back

=cut

Reply via email to