dvdsubedit user manual
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 7268
Gimp User Manual 0.12
GIMP User Manual project is a user manual for the GIMP. more>>
GIMP User Manual project is a user manual for the GIMP. It is written for the GIMP Help Browser, but can produce help pages for other formats as well.
Enhancements:
- New content (incl. spelling and grammar fixes) for German, French, Italian, Norwegian, Russian, Spanish and Korean
- The PDF version of the manual is now generated using dblatex
- Lots of bug fixes
<<lessEnhancements:
- New content (incl. spelling and grammar fixes) for German, French, Italian, Norwegian, Russian, Spanish and Korean
- The PDF version of the manual is now generated using dblatex
- Lots of bug fixes
Download (40MB)
Added: 2007-03-08 License: (FDL) GNU Free Documentation License Price:
975 downloads
Sub::Slice::Manual 1.048
Sub::Slice::Manual is a Perl module with user guide for Sub::Slice. more>>
Sub::Slice::Manual is a Perl module with user guide for Sub::Slice.
USING Sub::Slice
Sub::Slice is a way of breaking down a long-running process and maintaining state across a stateless protocol. This allows the client to draw a progress bar or abort the process part-way through.
The mechanism used by Sub::Slice is similar to the session management used on many web user authentication systems. However rather than simply passing an ID back as a token as these systems do, in Sub::Slice a data structure with richer information is passed to the client, allowing the client to make some intelligent decisions rather than blindly maintain state.
Use of Sub::Slice is best explained with a minimal example. Assume that there is a remoting protocol between the client and server such as XML/HTTP. For the sake of brevity, assume that methods called in package Server:: on the client are magically remoted to the server.
The server does two things. The first is to issue a token for the client to use:
#Server
sub create_token {
my $job = new Sub::Slice();
return $job->token;
}
The second is to provide the routine into which the token is passed for each iteration:
sub do_work {
my $token = shift;
my $job = new Sub::Slice(token => $token);
at_start $job sub {
my $files = files_to_process();
#Store some data defining the work to do
$job->store("files", $files);
};
at_stage $job "each_iteration" sub {
#Get some work
my $files = $job->fetch("files");
my $file = shift @$files;
my $was_ok = process_file($file);
#Record we did the work
$job->store("files", $files);
#Check if theres any more work left to do
$job->done() unless(@$files);
};
}
The client somehow gets a token back from the server. It then passes this back to the server for each iteration. It can inspect the token to check if there is any more work left.
#Client
my $token = Server::create_token();
for(1 .. MAX_ITERATIONS) {
Server::do_work($token);
last if $token->{done};
}
<<lessUSING Sub::Slice
Sub::Slice is a way of breaking down a long-running process and maintaining state across a stateless protocol. This allows the client to draw a progress bar or abort the process part-way through.
The mechanism used by Sub::Slice is similar to the session management used on many web user authentication systems. However rather than simply passing an ID back as a token as these systems do, in Sub::Slice a data structure with richer information is passed to the client, allowing the client to make some intelligent decisions rather than blindly maintain state.
Use of Sub::Slice is best explained with a minimal example. Assume that there is a remoting protocol between the client and server such as XML/HTTP. For the sake of brevity, assume that methods called in package Server:: on the client are magically remoted to the server.
The server does two things. The first is to issue a token for the client to use:
#Server
sub create_token {
my $job = new Sub::Slice();
return $job->token;
}
The second is to provide the routine into which the token is passed for each iteration:
sub do_work {
my $token = shift;
my $job = new Sub::Slice(token => $token);
at_start $job sub {
my $files = files_to_process();
#Store some data defining the work to do
$job->store("files", $files);
};
at_stage $job "each_iteration" sub {
#Get some work
my $files = $job->fetch("files");
my $file = shift @$files;
my $was_ok = process_file($file);
#Record we did the work
$job->store("files", $files);
#Check if theres any more work left to do
$job->done() unless(@$files);
};
}
The client somehow gets a token back from the server. It then passes this back to the server for each iteration. It can inspect the token to check if there is any more work left.
#Client
my $token = Server::create_token();
for(1 .. MAX_ITERATIONS) {
Server::do_work($token);
last if $token->{done};
}
Download (0.027MB)
Added: 2006-09-18 License: Perl Artistic License Price:
1132 downloads
KDE PureFTPd User Manager 0.5.3.1
Kpum is a user manager for the pureftpd server. more>>
Kpum is a user manager for the pureftpd server. You can add, modify and delete users of the pureftpd server.
Currently only the pureftpd.pdb database is supported. Kpum is a application for the KDE environment.
Installation:
make -f admin/Makefile.common
./configure
make
su
make install
exit
Enhancements:
- toolbar + statusbar added
- double click on user opens user edit dialog
- userdefinied remove of fields from listview
- User ID
- Group ID
- max. Upload
- max. Download
- max. Files
- max. Size
- Up/Down Ratio
- Time
- Restrictions
- max. Connections
- user must not longer be root
- storing of window position and size
- default user/group/home directory option added
- KDE 3.1.x build fix
<<lessCurrently only the pureftpd.pdb database is supported. Kpum is a application for the KDE environment.
Installation:
make -f admin/Makefile.common
./configure
make
su
make install
exit
Enhancements:
- toolbar + statusbar added
- double click on user opens user edit dialog
- userdefinied remove of fields from listview
- User ID
- Group ID
- max. Upload
- max. Download
- max. Files
- max. Size
- Up/Down Ratio
- Time
- Restrictions
- max. Connections
- user must not longer be root
- storing of window position and size
- default user/group/home directory option added
- KDE 3.1.x build fix
Download (0.45MB)
Added: 2005-05-26 License: GPL (GNU General Public License) Price:
1619 downloads
Configurable Audible User Interface 0.6
Configurable Audible User Interface is a simple plugin-based audible user interface. more>>
Configurable Audible User Interface in short caui is a simple plugin-based audible user interface.
Plugins use speech synthesis software to interact with a user and perform specific actions. The main method of input is a keyboard or number pad.
This project is the successor to the Blind MP3 Player.
Enhancements:
- caui-cmd will exit immediately if caui has an mplayer process forked.
<<lessPlugins use speech synthesis software to interact with a user and perform specific actions. The main method of input is a keyboard or number pad.
This project is the successor to the Blind MP3 Player.
Enhancements:
- caui-cmd will exit immediately if caui has an mplayer process forked.
Download (0.012MB)
Added: 2005-12-02 License: GPL (GNU General Public License) Price:
1423 downloads
Fast Icon Users for Linux -
User icons with functions like: add, chat, edit, offline, remove, send, upload more>> Description:
11 icons of users.
Content:
User icons with functions like: add, chat, edit, offline, remove, send, upload, user, user group, video chat, voice chat<<less
Download (313KB)
Added: 2009-04-04 License: Freeware Price:
211 downloads
Authenticated User Community 0.7.4
Authenticated User Community project is a CGI-based intranet system for K-12 settings. more>>
Authenticated User Community project is a CGI-based intranet system for K-12 settings.
AUC (Authenticated User Community) is an intranet system designed for use in an educational organization but is also useful in many other settings.
It offers the ability for users to have a uniform web-based interface to discussion forums, e-mail (similar to hotmail, etc.), file management, and a searchable user database.
Also, "Interactive Classrooms" provide a means for students and teachers to have a web-based extension to their in-class interaction.
The system runs from a C-based monolithic CGI script. MySQL is used for database storage. Also, the web-based mail client supports MIME parts/attachments, IMAP, mbox, and multiple mail folders.
<<lessAUC (Authenticated User Community) is an intranet system designed for use in an educational organization but is also useful in many other settings.
It offers the ability for users to have a uniform web-based interface to discussion forums, e-mail (similar to hotmail, etc.), file management, and a searchable user database.
Also, "Interactive Classrooms" provide a means for students and teachers to have a web-based extension to their in-class interaction.
The system runs from a C-based monolithic CGI script. MySQL is used for database storage. Also, the web-based mail client supports MIME parts/attachments, IMAP, mbox, and multiple mail folders.
Download (3.3MB)
Added: 2006-11-01 License: GPL (GNU General Public License) Price:
1089 downloads
OpenInteract2::Manual::I18N 1.99_06
OpenInteract2::Manual::I18N is an internationalization in OpenInteract2. more>>
OpenInteract2::Manual::I18N is an internationalization in OpenInteract2.
SYNOPSIS
This part of the manual will describe i18n efforts in OpenInteract2, how to create message bundles to distribute with your application, and how you can customize the process.
CAVEATS
Im a newbie at i18n/l10n efforts. The main purpose is to find the path I think most web applications will trod and make that as simple as possible to navigate. The hooks in the framework to enable localization should be sufficiently unobtrusive so as not to preclude other efforts you may have in this area.
So if you have ideas about how things can be done better or more flexibly, please join the openinteract-dev mailing list and chime in. (See "SEE ALSO" for more info on the mailing list.)
WRITING LOCALIZED APPLICATIONS
100% localization is hard
Localizing every aspect of your application is extremely difficult. There are the easy things like translating words on the screen, date/time formats and money. Then there are the tough things: what does this shade of yellow mean in China versus Saudi Arabia? What happens if someone reads this sequence of graphics from right-to-left instead of left-to-right? And on and on for many more items you couldnt have even thought up yet.
OpenInteract wont presume to take care of all these for you. Instead we try to make the most common operations as simple as possible. Hopefully that will be sufficient for your needs.
<<lessSYNOPSIS
This part of the manual will describe i18n efforts in OpenInteract2, how to create message bundles to distribute with your application, and how you can customize the process.
CAVEATS
Im a newbie at i18n/l10n efforts. The main purpose is to find the path I think most web applications will trod and make that as simple as possible to navigate. The hooks in the framework to enable localization should be sufficiently unobtrusive so as not to preclude other efforts you may have in this area.
So if you have ideas about how things can be done better or more flexibly, please join the openinteract-dev mailing list and chime in. (See "SEE ALSO" for more info on the mailing list.)
WRITING LOCALIZED APPLICATIONS
100% localization is hard
Localizing every aspect of your application is extremely difficult. There are the easy things like translating words on the screen, date/time formats and money. Then there are the tough things: what does this shade of yellow mean in China versus Saudi Arabia? What happens if someone reads this sequence of graphics from right-to-left instead of left-to-right? And on and on for many more items you couldnt have even thought up yet.
OpenInteract wont presume to take care of all these for you. Instead we try to make the most common operations as simple as possible. Hopefully that will be sufficient for your needs.
Download (0.91MB)
Added: 2007-06-08 License: Perl Artistic License Price:
870 downloads
The Modular Manual Browser 1.2
The Modular Manual Browser is a set scripts designed as a man/apropos work-alike. more>>
The Modular Manual Browser is a set scripts designed as a man/apropos work-alike. It indexes manual pages across different operating systems and displays them in a searchable database in a Web browser.
It is easy to set up and includes highlighting, linking support in man pages, browsing and searching of pages, categories, and manuals.
It can also optionally set up a database containing descriptions of pages from the page titles.
Enhancements:
- BUGS, COPYING, INSTALL, INSTALL.roff, Makefile, README, README.roff, TODO.sh, config.php, index.php, mandb.php, modfunc.php, modman.php, api/files.php, api/modfunc.php, api/pages.php, api/whatis.php, install/BUGS, install/COPYING, install/INSTALL, install/INSTALL.roff, install/Makefile, install/README, install/README.roff, install/TODO.sh, tmp/.local: api split up, install data moved, so that modman may be dropped directly into webspace. mandb.php can pick up multi-line descriptions now.
Apropos results can be filtered by Section or Manual, but not Page (obviously).
whatis pseudo-database implemented, enabled by default in config.
Sections include Subsections (3->3ucb, 3ucb->3ucblib). Local Apropos and description support added via apropos/whatis programs.
- Release 1.2 -- The Small-Box/WhatIS Release.
<<lessIt is easy to set up and includes highlighting, linking support in man pages, browsing and searching of pages, categories, and manuals.
It can also optionally set up a database containing descriptions of pages from the page titles.
Enhancements:
- BUGS, COPYING, INSTALL, INSTALL.roff, Makefile, README, README.roff, TODO.sh, config.php, index.php, mandb.php, modfunc.php, modman.php, api/files.php, api/modfunc.php, api/pages.php, api/whatis.php, install/BUGS, install/COPYING, install/INSTALL, install/INSTALL.roff, install/Makefile, install/README, install/README.roff, install/TODO.sh, tmp/.local: api split up, install data moved, so that modman may be dropped directly into webspace. mandb.php can pick up multi-line descriptions now.
Apropos results can be filtered by Section or Manual, but not Page (obviously).
whatis pseudo-database implemented, enabled by default in config.
Sections include Subsections (3->3ucb, 3ucb->3ucblib). Local Apropos and description support added via apropos/whatis programs.
- Release 1.2 -- The Small-Box/WhatIS Release.
Download (0.018MB)
Added: 2005-07-18 License: GPL (GNU General Public License) Price:
1558 downloads
OpenInteract2::Manual::Widgets 1.99_06
OpenInteract2::Manual::Widgets Perl module contains template widgets in OpenInteract. more>>
OpenInteract2::Manual::Widgets Perl module contains template widgets in OpenInteract.
OpenInteract2 supports using templates as a simple graphical widget. A widget is a common element into which you can just plug in text or parameters to customize it. For example, an INPUT element of type TEXT is a particular type of widget -- you can customize its size, name, and default value. (Some widget implementations will maintain state for you across requests, have validation, etc. These dont do that.)
Widgets can also include other widgets. Such as a row that uses the INPUT TEXT widget described above to create a labeled input field, with a label on the left and the input widget on the right.
One of the main benefits of using these over HTML is centralization -- a change in one place enacts changes throughout your site. All column headers can look a certain way and be changed easily, all textboxes can be consistent and you can create widgets specific to your site and needs -- such as for inputting dates or money, or displaying addresses-- for a consistent user interface.
Heres an example:
[%########################################
form_text( name, value, size, maxlength, field_label )
Generate a simple text field.
Defaults:
size = 20
maxlength = 50
########################################-%]
[%- DEFAULT size = 20;
DEFAULT maxlength = 50; -%]
[%- field_pre_label -%]
< input type="text" name="[% name %]" value="[% value %]"
size="[% size %]" maxlength="[% maxlength %]" >
[%- field_label -%]
And you would reference this like:
[% INCLUDE form_text( name = "batting_average",
value = ".389" size = 5 ) -%]
And when the template is processed, get in return:
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
Calling widgets from other widgets is just as simple:
[%########################################
label_form_text_row( label, count, name, value,
field_label )
Display a row to input text: label on left,
text input on right.
Defaults:
colspan = 2
########################################-%]
[%- DEFAULT colspan = 2; -%]
[%- INCLUDE label_row_begin( colspan = 1 ) -%]
[%- INCLUDE data_cell_begin %][% INCLUDE form_text %]
< /td >< /tr >
Here we call three separate items, two of which (label_row_begin and data_cell_begin) arent really widgets but rather just named areas for common code. This might be called:
[% INCLUDE label_form_text_row( label = Batting Average,
name = batting_average,
value = .389, size = 5 ) -%]
And result in:
< tr valign="middle" >
< td align="right" >< b >Batting Average< /b >< /td >
< td align="right" >
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
< /td >
< /tr >
And youre not restricted to simple fill-in elements either. You can represent a common data-oriented widget -- such as a drop-down box representing countries your company services -- in this manner as well. Heres how such a call might look:
[%# Use USA as default, antagonizing the rest of the world...-%]
[%- picked_country = user.country || United States -%]
[% INCLUDE label_form_country_select( label = Countries,
name = country,
picked = picked_country ) -%]
Using this, the page designer doesnt care how many countries the company services, whether a new one has been added to the list, etc. Just make the call and the graphic element will be created the same way every time.
Using these template widgets you can build a library of display elements very quickly.
<<lessOpenInteract2 supports using templates as a simple graphical widget. A widget is a common element into which you can just plug in text or parameters to customize it. For example, an INPUT element of type TEXT is a particular type of widget -- you can customize its size, name, and default value. (Some widget implementations will maintain state for you across requests, have validation, etc. These dont do that.)
Widgets can also include other widgets. Such as a row that uses the INPUT TEXT widget described above to create a labeled input field, with a label on the left and the input widget on the right.
One of the main benefits of using these over HTML is centralization -- a change in one place enacts changes throughout your site. All column headers can look a certain way and be changed easily, all textboxes can be consistent and you can create widgets specific to your site and needs -- such as for inputting dates or money, or displaying addresses-- for a consistent user interface.
Heres an example:
[%########################################
form_text( name, value, size, maxlength, field_label )
Generate a simple text field.
Defaults:
size = 20
maxlength = 50
########################################-%]
[%- DEFAULT size = 20;
DEFAULT maxlength = 50; -%]
[%- field_pre_label -%]
< input type="text" name="[% name %]" value="[% value %]"
size="[% size %]" maxlength="[% maxlength %]" >
[%- field_label -%]
And you would reference this like:
[% INCLUDE form_text( name = "batting_average",
value = ".389" size = 5 ) -%]
And when the template is processed, get in return:
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
Calling widgets from other widgets is just as simple:
[%########################################
label_form_text_row( label, count, name, value,
field_label )
Display a row to input text: label on left,
text input on right.
Defaults:
colspan = 2
########################################-%]
[%- DEFAULT colspan = 2; -%]
[%- INCLUDE label_row_begin( colspan = 1 ) -%]
[%- INCLUDE data_cell_begin %][% INCLUDE form_text %]
< /td >< /tr >
Here we call three separate items, two of which (label_row_begin and data_cell_begin) arent really widgets but rather just named areas for common code. This might be called:
[% INCLUDE label_form_text_row( label = Batting Average,
name = batting_average,
value = .389, size = 5 ) -%]
And result in:
< tr valign="middle" >
< td align="right" >< b >Batting Average< /b >< /td >
< td align="right" >
< input type="text" name="batting_average" value=".389"
size="5" maxlength="50" >
< /td >
< /tr >
And youre not restricted to simple fill-in elements either. You can represent a common data-oriented widget -- such as a drop-down box representing countries your company services -- in this manner as well. Heres how such a call might look:
[%# Use USA as default, antagonizing the rest of the world...-%]
[%- picked_country = user.country || United States -%]
[% INCLUDE label_form_country_select( label = Countries,
name = country,
picked = picked_country ) -%]
Using this, the page designer doesnt care how many countries the company services, whether a new one has been added to the list, etc. Just make the call and the graphic element will be created the same way every time.
Using these template widgets you can build a library of display elements very quickly.
Download (0.91MB)
Added: 2007-07-16 License: Perl Artistic License Price:
831 downloads
Samba::LDAP::User 0.03
Samba::LDAP::User is a Perl module to manipulate a Samba LDAP User. more>>
Samba::LDAP::User is a Perl module to manipulate a Samba LDAP User.
SYNOPSIS
use Carp;
use Samba::LDAP::User;
# create Template object
my $user = Samba::LDAP::User->new()
or croak "Cant create objectn";
Various methods to manipulate a Samba LDAP user. Add, delete, modify, show and change a users password.
INTERFACE
new
Create a new Samba::LDAP::User object
add_user
Takes many options. For example:
user =>
oldpass =>
newpass =>
workstation =>
ou =>
user_uid =>
group =>
windows_user =>
trust_account =>
homedir =>
shell =>
gecos =>
skeleton_dir =>
surname =>
family_name =>
local_mail_address =>
mail_to_address =>
time_to_wait =>
aix =>
groups =>
ox =>
can_change_pass =>
must_change_pass =>
account_flags =>
logon_script =>
home_path =>
home_drive =>
user_profile =>
aix_user =>
The above options are only needed if you dont want to use the defaults that are set in /etc/smbldap/smbldap.conf
delete_user
disable_user
is_valid_user
is_samba_user
is_unix_user
is_nonldap_unix_user
get_homedir
make_hash
change_password
change_password(
user => ghenry,
oldpass => "$oldpass",
newpass => "$newpass",
samba => 1, # Update only Samba pass, can be
# unix => 1 for unix pass only
);
Change user password in LDAP Directory
Checks the users exists first, then changes the password If user doesnt exist, returns the error etc.
If no oldpass arg is passed, binds as rootdn and sets a password
Default is set to change/add a Samba "and" Unix password. If you dont want this, pass in unix => 0, or samba => 0, etc.
<<lessSYNOPSIS
use Carp;
use Samba::LDAP::User;
# create Template object
my $user = Samba::LDAP::User->new()
or croak "Cant create objectn";
Various methods to manipulate a Samba LDAP user. Add, delete, modify, show and change a users password.
INTERFACE
new
Create a new Samba::LDAP::User object
add_user
Takes many options. For example:
user =>
oldpass =>
newpass =>
workstation =>
ou =>
user_uid =>
group =>
windows_user =>
trust_account =>
homedir =>
shell =>
gecos =>
skeleton_dir =>
surname =>
family_name =>
local_mail_address =>
mail_to_address =>
time_to_wait =>
aix =>
groups =>
ox =>
can_change_pass =>
must_change_pass =>
account_flags =>
logon_script =>
home_path =>
home_drive =>
user_profile =>
aix_user =>
The above options are only needed if you dont want to use the defaults that are set in /etc/smbldap/smbldap.conf
delete_user
disable_user
is_valid_user
is_samba_user
is_unix_user
is_nonldap_unix_user
get_homedir
make_hash
change_password
change_password(
user => ghenry,
oldpass => "$oldpass",
newpass => "$newpass",
samba => 1, # Update only Samba pass, can be
# unix => 1 for unix pass only
);
Change user password in LDAP Directory
Checks the users exists first, then changes the password If user doesnt exist, returns the error etc.
If no oldpass arg is passed, binds as rootdn and sets a password
Default is set to change/add a Samba "and" Unix password. If you dont want this, pass in unix => 0, or samba => 0, etc.
Download (0.080MB)
Added: 2007-01-12 License: Perl Artistic License Price:
1024 downloads
OpenInteract2::Manual::Tutorial 1.99_06
OpenInteract2::Manual::Tutorial is a Perl module that will teach learn you how to create and modify a package. more>>
OpenInteract2::Manual::Tutorial is a Perl module that will teach learn you how to create and modify a package.
SYNOPSIS
This tutorial will show you the different methods for creating a package and how to maintain them.
CREATING THE PACKAGE
A word on the example
For our example were going to create a book package. This will keep track of all our books and allow us to search our library, add new books, update existing ones and remove old ones. It wont be the backbone for a massive e-commerce website to make you lots of money. It does not attempt to best model the relationships for all the data about a book.
Looking for shortcuts?
If you want to get something running in the fastest manner possible we can generate a simple CRUDS application for you. (CRUDS: CReate Update Delete Search) Just run something like the following:
$ oi2_manage easy_app --package=book --table=book
--dsn=DBI:Pg:dbname=mylibrary --username=foo --password=bar
This will create a simple application built off a table book with templates and objects for searching, creating, updating and removing objects. (More at OpenInteract2::Manage::Package::CreatePackageFromTable.)
Since this is a tutorial well assume you want to read to learn, so on we go.
Generating the skeleton
OpenInteract comes with tools to create a skeleton package -- we dont want to do all this from scratch! The skeleton package has the directory structure, metadata and a number of files to get you going on your new package. Heres how to create one -- be sure to first go to the directory under which the package will be created:
$ oi2_manage create_package --package=book
And heres what youll see:
PROGRESS: Starting task
PROGRESS: Task complete
ACTION: Create package book
OK: Package book created ok in /path/to/my/book
And now lets see what it created:
$ find book/
book/
book/conf
book/conf/spops.ini
book/conf/action.ini
book/data
book/doc
book/doc/book.pod
book/struct
book/template
book/template/sample.tmpl
book/script
book/html
book/html/images
book/OpenInteract2
book/OpenInteract2/Action
book/OpenInteract2/Action/Book.pm
book/OpenInteract2/SQLInstall
book/OpenInteract2/SQLInstall/Book.pm
book/package.ini
book/MANIFEST.SKIP
book/Changes
book/MANIFEST
These files and directories are explained in OpenInteract2::Manual::Packages.
You will normally need to edit/add the following:
book/package.ini # Add name, version, author information
book/MANIFEST # Add names of distribution files
book/conf/spops.ini # Describe the objects your package uses
book/conf/action.ini # Map URLs to handlers in your package
book/data # Specify the initial data and security
book/struct # Describe the tables used to store your objects
book/template # HTML to display and manipulate your objects
book/OpenInteract2 # Optional Perl modules defining object behavior
book/OpenInteract2/Action # Manipulate objects for desired functionality
book/OpenInteract2/SQLInstall # Tell the installer about your tables, data, security
book/doc/book.pod # Last but not least, tell the world about it
Short sidebar: Creating a MANIFEST
Notice that we create a MANIFEST file for you when the package is created. As you add more files to your package youll need to add them to your book/MANIFEST. Fortunately, it can be created automatically:
$ cd /path/to/mypackage
$ perl -MExtUtils::Manifest -e ExtUtils::Manifest::mkmanifest()
Thats it! If you have an old MANIFEST file in the directory it will be copied to MANIFEST.bak. Also note that files matching patterns in the book/MANIFEST.SKIP file will not be included.
<<lessSYNOPSIS
This tutorial will show you the different methods for creating a package and how to maintain them.
CREATING THE PACKAGE
A word on the example
For our example were going to create a book package. This will keep track of all our books and allow us to search our library, add new books, update existing ones and remove old ones. It wont be the backbone for a massive e-commerce website to make you lots of money. It does not attempt to best model the relationships for all the data about a book.
Looking for shortcuts?
If you want to get something running in the fastest manner possible we can generate a simple CRUDS application for you. (CRUDS: CReate Update Delete Search) Just run something like the following:
$ oi2_manage easy_app --package=book --table=book
--dsn=DBI:Pg:dbname=mylibrary --username=foo --password=bar
This will create a simple application built off a table book with templates and objects for searching, creating, updating and removing objects. (More at OpenInteract2::Manage::Package::CreatePackageFromTable.)
Since this is a tutorial well assume you want to read to learn, so on we go.
Generating the skeleton
OpenInteract comes with tools to create a skeleton package -- we dont want to do all this from scratch! The skeleton package has the directory structure, metadata and a number of files to get you going on your new package. Heres how to create one -- be sure to first go to the directory under which the package will be created:
$ oi2_manage create_package --package=book
And heres what youll see:
PROGRESS: Starting task
PROGRESS: Task complete
ACTION: Create package book
OK: Package book created ok in /path/to/my/book
And now lets see what it created:
$ find book/
book/
book/conf
book/conf/spops.ini
book/conf/action.ini
book/data
book/doc
book/doc/book.pod
book/struct
book/template
book/template/sample.tmpl
book/script
book/html
book/html/images
book/OpenInteract2
book/OpenInteract2/Action
book/OpenInteract2/Action/Book.pm
book/OpenInteract2/SQLInstall
book/OpenInteract2/SQLInstall/Book.pm
book/package.ini
book/MANIFEST.SKIP
book/Changes
book/MANIFEST
These files and directories are explained in OpenInteract2::Manual::Packages.
You will normally need to edit/add the following:
book/package.ini # Add name, version, author information
book/MANIFEST # Add names of distribution files
book/conf/spops.ini # Describe the objects your package uses
book/conf/action.ini # Map URLs to handlers in your package
book/data # Specify the initial data and security
book/struct # Describe the tables used to store your objects
book/template # HTML to display and manipulate your objects
book/OpenInteract2 # Optional Perl modules defining object behavior
book/OpenInteract2/Action # Manipulate objects for desired functionality
book/OpenInteract2/SQLInstall # Tell the installer about your tables, data, security
book/doc/book.pod # Last but not least, tell the world about it
Short sidebar: Creating a MANIFEST
Notice that we create a MANIFEST file for you when the package is created. As you add more files to your package youll need to add them to your book/MANIFEST. Fortunately, it can be created automatically:
$ cd /path/to/mypackage
$ perl -MExtUtils::Manifest -e ExtUtils::Manifest::mkmanifest()
Thats it! If you have an old MANIFEST file in the directory it will be copied to MANIFEST.bak. Also note that files matching patterns in the book/MANIFEST.SKIP file will not be included.
Download (0.91MB)
Added: 2007-07-27 License: Perl Artistic License Price:
819 downloads
SQL::Translator::Manual 0.07
SQL::Translator::Manual is a Perl module that contains a manual for SQL translator. more>>
SQL::Translator::Manual is a Perl module that contains a manual for SQL translator.
SYNOPSIS
SQL::Translator (AKA "SQLFairy") is a collection of modules for transforming (mainly) SQL DDL files into a variety of other formats, including other SQL dialects, documentation, images, and code. In this manual, we will attempt to address how to use SQLFairy for common tasks. For a lower-level discussion of how the code works, please read the documentation for SQL::Translator.
It may prove helpful to have a general understanding of the SQLFairy code before continuing. The code can be broken into three conceptual groupings:
Parsers
The parsers are responsible for reading the input files and describing them to the Schema object middleware.
Producers
The producers create the output as described by the Schema middleware.
Schema objects
The Schema objects bridge the communication between the Parsers and Producers by representing any parsed file through a standard set of generic objects to represent concepts like Tables, Fields (columns), Indices, Constraints, etc.
Its not necessary to understand how to write or manipulate any of these for most common tasks, but you should aware of the concepts as they will be referenced later in this document.
<<lessSYNOPSIS
SQL::Translator (AKA "SQLFairy") is a collection of modules for transforming (mainly) SQL DDL files into a variety of other formats, including other SQL dialects, documentation, images, and code. In this manual, we will attempt to address how to use SQLFairy for common tasks. For a lower-level discussion of how the code works, please read the documentation for SQL::Translator.
It may prove helpful to have a general understanding of the SQLFairy code before continuing. The code can be broken into three conceptual groupings:
Parsers
The parsers are responsible for reading the input files and describing them to the Schema object middleware.
Producers
The producers create the output as described by the Schema middleware.
Schema objects
The Schema objects bridge the communication between the Parsers and Producers by representing any parsed file through a standard set of generic objects to represent concepts like Tables, Fields (columns), Indices, Constraints, etc.
Its not necessary to understand how to write or manipulate any of these for most common tasks, but you should aware of the concepts as they will be referenced later in this document.
Download (0.31MB)
Added: 2006-09-15 License: Perl Artistic License Price:
1139 downloads
Bio::Phylo::Manual 0.15
Bio::Phylo::Manual is a Perl module that contains a Bio::Phylo v.0.14 user guide. more>>
Bio::Phylo::Manual is a Perl module that contains a Bio::Phylo v.0.14 user guide.
This is the manual for Bio::Phylo. Bio::Phylo is a perl5 package for phylogenetic analysis. For installation instructions, read the README file in the root directory of the distribution. The stable URL for the most recent distribution is http://search.cpan.org/~rvosa/Bio-Phylo/
<<lessThis is the manual for Bio::Phylo. Bio::Phylo is a perl5 package for phylogenetic analysis. For installation instructions, read the README file in the root directory of the distribution. The stable URL for the most recent distribution is http://search.cpan.org/~rvosa/Bio-Phylo/
Download (0.10MB)
Added: 2006-09-29 License: Perl Artistic License Price:
1121 downloads
Games::Maze::SVG::Manual 0.75
Games::Maze::SVG::Manual is a Perl module with manual for the Games::Maze::SVG modules. more>>
Games::Maze::SVG::Manual is a Perl module with manual for the Games::Maze::SVG modules.
PURPOSE
The Games::Maze::SVG module supports the creation of 2-dimensional mazes in an SVG format suitable for printing or playing interactively. This module use the Games::Maze module to perform the actual work of creating the mazes.
HISTORY
During the middle of 2004, my son was extremely interested in mazes. We could not get enough mazes for him to solve. As a Perl programmer, I decided there must be some way to generate mazes and went to CPAN. I found Games::Maze. I printed a few pages of these mazes, and he was happy.
Unfortunately, the ASCII-based maze was not really satisfying for me. So I wrote code to convert the output of Games::Maze to SVG. This made much nicer looking mazes. I worked for a while to make the lines look better and to vary the corners to generate mazes that looked even better.
But the mazes were still missing something. So, I added the scripting support that would make the maze playable. I wrapped an HTML form around the generation program to allow it to be launched from the web.
I made this version available on my website. A friend of mine made some suggestions for individual visual changes that I incorporated. The design of the code did not change much during the next year. It was still a quick hacked wrapper around Games::Maze without much flexibility.
A year later, a comment on the SVG Developers mailing list made me dust off the code with an ey towards making a legitimate Perl module out of it. When I began looking at the code again, I realized that the original had been more of a hack than I remembered. The new version still could use some significant cleanup, but I am much happier with the overall design.
SYNOPSIS
use Games::Maze::SVG;
my $maze = Games::Maze::SVG->new( Rect, wallform => roundcorners );
my $svgout = $maze->toString();
OVERVIEW
The Games::Maze::SVG module can produce interactive or non-interactive mazes in SVG of three basic shapes. The shape of the maze is determined by the first parameter. This parameter is a string with one of the following values:
Rect
A maze with a rectangular overall shape and rectangular hallways.
RectHex
A maze with a rectangular overall shape and hallways made from hexagonal cells.
Hex
A maze with a hexagonal overall shape and hallways made from hexagonal cells.
The mazes can be further configured using a set of named parameters that follow the shape parameter. Most of these parameters are independent of the shape chosen. In addition, the mazeparams parameter supports passing parameters directly to the internal Games::Maze object which is used to create the maze.
<<lessPURPOSE
The Games::Maze::SVG module supports the creation of 2-dimensional mazes in an SVG format suitable for printing or playing interactively. This module use the Games::Maze module to perform the actual work of creating the mazes.
HISTORY
During the middle of 2004, my son was extremely interested in mazes. We could not get enough mazes for him to solve. As a Perl programmer, I decided there must be some way to generate mazes and went to CPAN. I found Games::Maze. I printed a few pages of these mazes, and he was happy.
Unfortunately, the ASCII-based maze was not really satisfying for me. So I wrote code to convert the output of Games::Maze to SVG. This made much nicer looking mazes. I worked for a while to make the lines look better and to vary the corners to generate mazes that looked even better.
But the mazes were still missing something. So, I added the scripting support that would make the maze playable. I wrapped an HTML form around the generation program to allow it to be launched from the web.
I made this version available on my website. A friend of mine made some suggestions for individual visual changes that I incorporated. The design of the code did not change much during the next year. It was still a quick hacked wrapper around Games::Maze without much flexibility.
A year later, a comment on the SVG Developers mailing list made me dust off the code with an ey towards making a legitimate Perl module out of it. When I began looking at the code again, I realized that the original had been more of a hack than I remembered. The new version still could use some significant cleanup, but I am much happier with the overall design.
SYNOPSIS
use Games::Maze::SVG;
my $maze = Games::Maze::SVG->new( Rect, wallform => roundcorners );
my $svgout = $maze->toString();
OVERVIEW
The Games::Maze::SVG module can produce interactive or non-interactive mazes in SVG of three basic shapes. The shape of the maze is determined by the first parameter. This parameter is a string with one of the following values:
Rect
A maze with a rectangular overall shape and rectangular hallways.
RectHex
A maze with a rectangular overall shape and hallways made from hexagonal cells.
Hex
A maze with a hexagonal overall shape and hallways made from hexagonal cells.
The mazes can be further configured using a set of named parameters that follow the shape parameter. Most of these parameters are independent of the shape chosen. In addition, the mazeparams parameter supports passing parameters directly to the internal Games::Maze object which is used to create the maze.
Download (0.035MB)
Added: 2007-01-08 License: Perl Artistic License Price:
601 downloads
dtRdr::User 0.0.11
dtRdr::User.pm is a user class as a Perl module. more>>
dtRdr::User.pm is a user class as a Perl module.
Constructor
new
$user = dtRdr::User->new($username);
Methods
init_config
$user->init_config($filename);
<<lessConstructor
new
$user = dtRdr::User->new($username);
Methods
init_config
$user->init_config($filename);
Download (2.8MB)
Added: 2007-03-16 License: GPL (GNU General Public License) Price:
954 downloads
Secleted [ 0 ] software to compare
Copyright Notice:
Software piracy is theft, Using crack, password, serial numbers, registration codes, key generators is illegal and prevent future software development. The above dvdsubedit user manual search only lists software in full, demo and trial versions for free download. Download links are directly from our mirror sites or publisher sites, torrent files or links from rapidshare.com, yousendit.com or megaupload.com are not allowed