registered
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 433
wsgi_intercept 0.4
Installs a WSGI application in place of a real URI for testing. more>>
wsgi_intercept 0.4 is yet another excellent utility for programmers. It is actually a library which lets you intercept calls to any specific host/port combination and redirect them into a WSGI application importable by your test program instead of normally starting a server at a local host and port, then pointing your test code to that address. Thus, you can avoid spawning multiple processes or threads to test your Web app. Installs a WSGI application in place of a real URI for testing.
This package works by replacing httplib. HTTPConnection with a subclass, wsgi_intercept. WSGI_HTTPConnection. This class then redirects specific server/port combination into a WSGI application by emulating a socket. If no intercept is registered for the host and port requested, those requests are passed on to the standard handler.
The functions add_wsgi_intercept (host, port, app_create_fn, script_name=) and remove_wsgi_intercept (host, port) specify which URLs should be redirect into what applications. Note especially that app_create_fn is a function object returning a WSGI application; script_name becomes SCRIPT_NAME in the WSGI apps environment, if it is set.
Requirements:
- Python
Added: 2009-01-07 License: MIT/X Consortium Lic... Price: FREE
14 downloads
Slauth::Register::Mailman 0.01
Slauth::Register::Mailman is a library for Slauth Apache module. more>>
COPYRIGHT=1]
Installation:
To install this module type the following:
perl Makefile.PL
make
make test
make install[
<<lessInstallation:
To install this module type the following:
perl Makefile.PL
make
make test
make install[
Download (0.014MB)
Added: 2006-03-27 License: GPL (GNU General Public License) Price:
1306 downloads
jstree 0.8b2
jstree is a JavaScript that allows you to see the entire DOM tree of a selected object. more>>
jstree is a JavaScript that allows you to see the entire DOM tree of a selected object.
The object can be selected by ID or as an object variable.
JavaScript is an object-based scripting programming language based on the concept of prototypes. The language is best known for its use in websites, but is also used to enable scripting access to objects embedded in other applications.
Despite the name, JavaScript is only distantly related to the Java programming language, the main similarity being their common debt to the C programming language.
JavaScript has far more in common with the Self programming language.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
<<lessThe object can be selected by ID or as an object variable.
JavaScript is an object-based scripting programming language based on the concept of prototypes. The language is best known for its use in websites, but is also used to enable scripting access to objects embedded in other applications.
Despite the name, JavaScript is only distantly related to the Java programming language, the main similarity being their common debt to the C programming language.
JavaScript has far more in common with the Self programming language.
JavaScript is a registered trademark of Sun Microsystems, Inc., used under license for technology invented and implemented by Netscape.
Download (0.015MB)
Added: 2006-02-14 License: Other/Proprietary License with Source Price:
1349 downloads
mod_tee
mod_tee serves to clone an document as it is served. more>>
mod_tee serves to "clone" an document as it is served. mod_tee was hacked up as a quick-and-dirty fix when a Site Valet user complained of problems saving a Valet report: mod_tee now serves to enable registered users to request email copies of any report generated.
The current status is "works for us", but it is not of release quality. It is less-than-complete in several respects. Its probably not a good idea to use it operationally unless youre prepared to get your hands dirty fixing any problems, or pay for support.
Configuration
TeeType FILE|PIPE|SMTP [Destination]
Where to send the cloned output:
FILE - save to a destination file. For testing only!
PIPE - pipes output to a destination program with popen.
SMTP - sends cloned output directly to email at a destination mailserver. Implements SMTP handshake with no error checking - so its a dangerous option!
TeeCondition query|cookie|path|header|env|true|false [key] [val]
Defines a condition for mod_tee to be activated for a request. Values true and false are unconditional, while the others define a QUERY_STRING key, a Cookie, a PATH_INFO component, a request header or an environment variable to trigger the tee. Conditional values require a key. If val is defined then key must match it; otherwise any value of key will activate the tee.
TeeHeader key value
Defines an RFC822-style header to be inserted in front of the body of the page.
<<lessThe current status is "works for us", but it is not of release quality. It is less-than-complete in several respects. Its probably not a good idea to use it operationally unless youre prepared to get your hands dirty fixing any problems, or pay for support.
Configuration
TeeType FILE|PIPE|SMTP [Destination]
Where to send the cloned output:
FILE - save to a destination file. For testing only!
PIPE - pipes output to a destination program with popen.
SMTP - sends cloned output directly to email at a destination mailserver. Implements SMTP handshake with no error checking - so its a dangerous option!
TeeCondition query|cookie|path|header|env|true|false [key] [val]
Defines a condition for mod_tee to be activated for a request. Values true and false are unconditional, while the others define a QUERY_STRING key, a Cookie, a PATH_INFO component, a request header or an environment variable to trigger the tee. Conditional values require a key. If val is defined then key must match it; otherwise any value of key will activate the tee.
TeeHeader key value
Defines an RFC822-style header to be inserted in front of the body of the page.
Download (0.012MB)
Added: 2006-04-20 License: GPL (GNU General Public License) Price:
1285 downloads
xmlrpcserver 0.99.2
xmlrpcserver provides a simple to use and complete XML-RPC server. more>>
xmlrpcserver provides a simple to use and complete XML-RPC server.
xmlrpcserver is a simple to use but fairly complete XML-RPC server module for Python, implemented on top of the standard module xmlrpclib.
This module may, for example, be used in CGIs, inside application servers or within an application, or even standalone as an HTTP server waiting for XML-RPC requests.
xmlrpcserver is completely written in Python and has no dependencies other than standard modules.
Enhancements:
- This version added system.listMethods() and system.methodHelp() introspection methods
- introduced a return value to execute()
- featured a small security improvement by not allowing methods starting with _ to be available in registered classes.
<<lessxmlrpcserver is a simple to use but fairly complete XML-RPC server module for Python, implemented on top of the standard module xmlrpclib.
This module may, for example, be used in CGIs, inside application servers or within an application, or even standalone as an HTTP server waiting for XML-RPC requests.
xmlrpcserver is completely written in Python and has no dependencies other than standard modules.
Enhancements:
- This version added system.listMethods() and system.methodHelp() introspection methods
- introduced a return value to execute()
- featured a small security improvement by not allowing methods starting with _ to be available in registered classes.
Download (0.021MB)
Added: 2007-04-06 License: LGPL (GNU Lesser General Public License) Price:
931 downloads
phpMyNewsLetter 0.8 Beta 5
phpMyNewsLetter provides a mailing list management script written in PHP. more>>
phpMyNewsLetter provides a mailing list management script written in PHP.
phpMyNewsLetter is a mailing list management script written in PHP. The subscribers info are stored in a MySQL database. Features include: Subscription checking whether the subscriber is not already registered, Sending of a welcome message at the time of subscribing and unsubscribing, and User-friendly administration allowing you to send messages, List and delete the subscribers, Supports HTML e-mail, Preview of the message before sending, Logging system, Multilanguage support (English, French, Italian, ...), and user-friendly web configuration and installation.
<<lessphpMyNewsLetter is a mailing list management script written in PHP. The subscribers info are stored in a MySQL database. Features include: Subscription checking whether the subscriber is not already registered, Sending of a welcome message at the time of subscribing and unsubscribing, and User-friendly administration allowing you to send messages, List and delete the subscribers, Supports HTML e-mail, Preview of the message before sending, Logging system, Multilanguage support (English, French, Italian, ...), and user-friendly web configuration and installation.
Download (0.22MB)
Added: 2007-04-24 License: GPL (GNU General Public License) Price:
913 downloads
BitWise Routing Server 1.7
BitWise Routing Server allows multiple PCs behind a router to make direct connections. more>>
BitWise Routing Server allows multiple PCs behind a router to make direct connections.
The BitWise Routing Server allows you to accept BitWise connections to multiple computers behind a router. Typically, using a router, you would set up port forwarding on BitWises client port (4137), and specify a single destination IP. This is fine until multiple users behind a router all need to accept incoming connections.
As shown by the picture at right, the Routing Server allows individual users to register themselves with the Routing Server, and then the Routing Server accepts all incoming connections and directs those connections to the appropriate user.
The Routing Server requires that your physical router support port forwarding with a way to specify different external and internal ports (this is sometimes labeled "UPnP" by many common home routers).
The Routing Server has several options allowing you to customize the Routing Server for your environment. Many of the options are self-explanatory. The two that are not are Listen on Port and IP filtering. IP filtering is explained in the next section.
The BitWise Routing Server listens on a different port than the BitWise IM client. This allows the Routing Server and the IM client to be run on the same computer without causing conflicts. You will want to set up your router (more detail in a later step) to shift the port of the incoming connections from 4137 to another port. It doesnt particularly matter which port you want to use, as long as it is not a port used by another program. The default port is 4200.
Depending on the complexity of the network, it may be desirable to filter the IP addresses that are allowed to register with the Routing Server. This can be done in the preferences. One very likely scenario would be limiting registrations to the 192.168.1.x IP addresses (192.168 is reserved for local networks). When specifying an IP as the comparison address, you can use any valid IP numbers for wildcards.
In the case shown here, the Routing Server will limit connections to computers having IP addresses of 192.168.1.x. Any number, 0 through 255, could be placed for x in the Routing Server preferences.
If you are not familiar with IP address classes and IP filtering, it will usually be safe to leave Any selected.
Setting up the physical router
The picture at right was taken from a Linksys router, other routers will have a similar capability, although it may be layed out differently. On some routers, the advanced port forwarding options are mistakingly labeled UPnP.
The router setup shows that we are accepting connections on port 4137 and then sending them inside the network on port 4200 (the default port). Enter the IP address of the machine on the network running the Routing Server, and make sure that the rule is enabled. You will want to enter a rule for both TCP and UDP (UDP is used only for voice).
Please consult your router manual for more detailed instructions about how to set up port forwarding on your specific model.
Configuring BitWise to use the Routing Server
In order for you to enjoy the connectivity benefits of the Routing Server, you will need to register with the Routing Server when you log in to BitWise. Prior to logging in to BitWise, click the Setup button next to the Connect button to open the BitWise Setup. There is an area to enter an address for the Routing Server, and to specify what port to use. The port must be the same as the port used above (4200 is the default).
Upon connecting to BitWise, you will be registered with the Routing Server. If you could not be registered, an error message will be displayed. Double-check that the correct address was entered in the Setup.
Registration with the Routing Server
Upon successfully registering with the Routing Server, the Routing Server will display the user name and the IP address of the registration. If you want to unregister a user, click on the username, and then click Unregister. Incoming connections will no longer be forwarded to the specified computer.
It is worth pointing out two things here. First, if you later log in from a different computer, and that computer is also set to use the Routing Server, you will be re-registered with your new IP address. Second, if you are unregistered, or move to another computer but are not set up to use the Routing Server, you will not be able to benefit from the services of the Routing Server.
By default, the Routing Server saves the registered user list when it is closed down.
Using the Routing Server
Assuming that everything is set up correctly, everyone that registers with the Routing Server when they log in to BitWise will be able to enjoy significantly increased connectivity with other BitWise users. As incoming connections are established, you will see the connections listed in the right pane of the Routing Server window. The IP address and the time of the connection is also displayed, and the connection is later marked when it is disconnected.
The disconnected/closed connections may be cleaned from the list at any time using the Clean List button. Only active connections will be left displayed.
<<lessThe BitWise Routing Server allows you to accept BitWise connections to multiple computers behind a router. Typically, using a router, you would set up port forwarding on BitWises client port (4137), and specify a single destination IP. This is fine until multiple users behind a router all need to accept incoming connections.
As shown by the picture at right, the Routing Server allows individual users to register themselves with the Routing Server, and then the Routing Server accepts all incoming connections and directs those connections to the appropriate user.
The Routing Server requires that your physical router support port forwarding with a way to specify different external and internal ports (this is sometimes labeled "UPnP" by many common home routers).
The Routing Server has several options allowing you to customize the Routing Server for your environment. Many of the options are self-explanatory. The two that are not are Listen on Port and IP filtering. IP filtering is explained in the next section.
The BitWise Routing Server listens on a different port than the BitWise IM client. This allows the Routing Server and the IM client to be run on the same computer without causing conflicts. You will want to set up your router (more detail in a later step) to shift the port of the incoming connections from 4137 to another port. It doesnt particularly matter which port you want to use, as long as it is not a port used by another program. The default port is 4200.
Depending on the complexity of the network, it may be desirable to filter the IP addresses that are allowed to register with the Routing Server. This can be done in the preferences. One very likely scenario would be limiting registrations to the 192.168.1.x IP addresses (192.168 is reserved for local networks). When specifying an IP as the comparison address, you can use any valid IP numbers for wildcards.
In the case shown here, the Routing Server will limit connections to computers having IP addresses of 192.168.1.x. Any number, 0 through 255, could be placed for x in the Routing Server preferences.
If you are not familiar with IP address classes and IP filtering, it will usually be safe to leave Any selected.
Setting up the physical router
The picture at right was taken from a Linksys router, other routers will have a similar capability, although it may be layed out differently. On some routers, the advanced port forwarding options are mistakingly labeled UPnP.
The router setup shows that we are accepting connections on port 4137 and then sending them inside the network on port 4200 (the default port). Enter the IP address of the machine on the network running the Routing Server, and make sure that the rule is enabled. You will want to enter a rule for both TCP and UDP (UDP is used only for voice).
Please consult your router manual for more detailed instructions about how to set up port forwarding on your specific model.
Configuring BitWise to use the Routing Server
In order for you to enjoy the connectivity benefits of the Routing Server, you will need to register with the Routing Server when you log in to BitWise. Prior to logging in to BitWise, click the Setup button next to the Connect button to open the BitWise Setup. There is an area to enter an address for the Routing Server, and to specify what port to use. The port must be the same as the port used above (4200 is the default).
Upon connecting to BitWise, you will be registered with the Routing Server. If you could not be registered, an error message will be displayed. Double-check that the correct address was entered in the Setup.
Registration with the Routing Server
Upon successfully registering with the Routing Server, the Routing Server will display the user name and the IP address of the registration. If you want to unregister a user, click on the username, and then click Unregister. Incoming connections will no longer be forwarded to the specified computer.
It is worth pointing out two things here. First, if you later log in from a different computer, and that computer is also set to use the Routing Server, you will be re-registered with your new IP address. Second, if you are unregistered, or move to another computer but are not set up to use the Routing Server, you will not be able to benefit from the services of the Routing Server.
By default, the Routing Server saves the registered user list when it is closed down.
Using the Routing Server
Assuming that everything is set up correctly, everyone that registers with the Routing Server when they log in to BitWise will be able to enjoy significantly increased connectivity with other BitWise users. As incoming connections are established, you will see the connections listed in the right pane of the Routing Server window. The IP address and the time of the connection is also displayed, and the connection is later marked when it is disconnected.
The disconnected/closed connections may be cleaned from the list at any time using the Clean List button. Only active connections will be left displayed.
Download (1.0MB)
Added: 2006-03-02 License: Freeware Price:
1331 downloads
Menu Builder 1.0
Menu Builder is a software that can find problems with using JavaScripts for rollovers in navigation menus and resolve them. more>>
Menu Builder is a software that can find problems with using JavaScripts for rollovers in navigation menus and resolve them.
Menus need to be fast loading, retrievable from cache, and workable with page inserts. From the publishing point of view they need to be able to be distributed to pages efficiently.
There is no limit to how many or how large the images can be displayed on the same page. But as with any great number of images there is always the download time to consider. If it is too slow then there is a risk of the surfer getting impatient and moving on. Many of us tend to forget that we are getting our images from our own cache.
Images presented on the web are usually 72-96 dpi (dots per inch) and unless presenting a photographers professional portfolio, images larger than 100k in file size make for longer downloads and less visitors.
A link can be set for visitors to navigate by mouse clicking the image. The link can be set to a target frame for navigating within framesets. The hyperlink will only function from the registered site. If a link is not required simply leave the setting completely blank.
<<lessMenus need to be fast loading, retrievable from cache, and workable with page inserts. From the publishing point of view they need to be able to be distributed to pages efficiently.
There is no limit to how many or how large the images can be displayed on the same page. But as with any great number of images there is always the download time to consider. If it is too slow then there is a risk of the surfer getting impatient and moving on. Many of us tend to forget that we are getting our images from our own cache.
Images presented on the web are usually 72-96 dpi (dots per inch) and unless presenting a photographers professional portfolio, images larger than 100k in file size make for longer downloads and less visitors.
A link can be set for visitors to navigate by mouse clicking the image. The link can be set to a target frame for navigating within framesets. The hyperlink will only function from the registered site. If a link is not required simply leave the setting completely blank.
Download (0.082MB)
Added: 2005-11-11 License: Freely Distributable Price:
1445 downloads
kparalleleport 1.1
kparalleleport is a program for programmers who wish to use the parallel port. more>>
kparalleleport is a program for programmers who wish to use the parallel port.
The project makes it possible to view the values registered or read on the parallel port.
<<lessThe project makes it possible to view the values registered or read on the parallel port.
Download (0.098MB)
Added: 2007-02-12 License: GPL (GNU General Public License) Price:
984 downloads
PPSee 1.21
PPSee is an album creator and image viewer. more>>
PPSee is a software for creating picture galleries of photos taken by the digital camera, scanner etc. It also makes possible to view pictures.
The created photo album can be used on your computer, however it is designed mainly for display on the Internet. Instead of photos attached to e-mails, youd better send a link to your own web pages!
Main features:
- the program uses national languages.
- the photo album provides automatic picture projection - slide show
- to move among the pictures in the photo album you can use navigation keys.
- each of the pictures can contain your description, which is saved for later use.
- you can rotate images without any modification of the original file
- photo album is based on a valid code XHTML 1.0 Strict
- the photo album does not need support from any server.
- the program has many attributes affecting the look of the created photo album.
- support of the scripting language BeanShell for greater latitude when creating the photo album.
- you can create their own templates of the photo album.
- registered users can use a batch mode from a command line
- the program can read EXIF information.
- the program runs on the systems such as Windows, Linux, MacOS, OS/2 and Solaris, as well as the photo album.
- registered users can also use new versions of the program.
- the author does not insert into program any form of malware, including: spyware, trojans and backdoors
The program PPSee enables to change the photo album by the help of a number of parameters, however a certain style of the photo album always remains preserved. If you have your own conceptions of the look of the photo album, lay-out of the pictures, navigational buttons, picture description and so on, you can create a template.
The template of the program PPSee is a model, based on which the program creates the real photo album. It is useful to know that templates - or more exactly their program accessories - enable to respect the parameters set in the user graphic environment of the program PPSee. To communicate with the program, templates use the program interface API.
Templates can be saved - together with other parameters - for later use; users can share the saved templates with no limits. Only registered users can work with templates. Detailed information makes part of the program documentation.
Enhancements:
- Photo album is created by a standard XHTML 1.0 Strict.
- You can rotate images without any modification of the original file.
- Bug fixing
<<lessThe created photo album can be used on your computer, however it is designed mainly for display on the Internet. Instead of photos attached to e-mails, youd better send a link to your own web pages!
Main features:
- the program uses national languages.
- the photo album provides automatic picture projection - slide show
- to move among the pictures in the photo album you can use navigation keys.
- each of the pictures can contain your description, which is saved for later use.
- you can rotate images without any modification of the original file
- photo album is based on a valid code XHTML 1.0 Strict
- the photo album does not need support from any server.
- the program has many attributes affecting the look of the created photo album.
- support of the scripting language BeanShell for greater latitude when creating the photo album.
- you can create their own templates of the photo album.
- registered users can use a batch mode from a command line
- the program can read EXIF information.
- the program runs on the systems such as Windows, Linux, MacOS, OS/2 and Solaris, as well as the photo album.
- registered users can also use new versions of the program.
- the author does not insert into program any form of malware, including: spyware, trojans and backdoors
The program PPSee enables to change the photo album by the help of a number of parameters, however a certain style of the photo album always remains preserved. If you have your own conceptions of the look of the photo album, lay-out of the pictures, navigational buttons, picture description and so on, you can create a template.
The template of the program PPSee is a model, based on which the program creates the real photo album. It is useful to know that templates - or more exactly their program accessories - enable to respect the parameters set in the user graphic environment of the program PPSee. To communicate with the program, templates use the program interface API.
Templates can be saved - together with other parameters - for later use; users can share the saved templates with no limits. Only registered users can work with templates. Detailed information makes part of the program documentation.
Enhancements:
- Photo album is created by a standard XHTML 1.0 Strict.
- You can rotate images without any modification of the original file.
- Bug fixing
Download (1.3MB)
Added: 2005-06-22 License: Free for non-commercial use Price:
1584 downloads
Asterisk-Java 0.3
Asterisk-Java provides a set of Java classes that allow you to easily build Java applications. more>>
The Asterisk-Java package consists of a set of Java classes that allow you to easily build Java applications that interact with an Asterisk PBX Server. Asterisk-java supports both interfaces that Asterisk provides for this scenario, The FastAGI protocol and the Manager API.
Asterisk-Java is compatible with Asterisk 1.0 and 1.2. The FastAGI implementation supports all commands currently available from Asterisk.
The Manager API implementation supports receiving events from the Asterisk server (e.g. call progess, registered peers, channel state) and sending actions to Asterisk (e.g. originate call, agent login/logoff, start/stop voice recording).
Enhancements:
- This release has full support for Asterisk 1.4 and the new Live API (org.asteriskjava.live).
- The Live API takes care of the low-level action and event handling of the Manager API, and offers an intuitive API for Java developers.
- Asterisk-Java takes advantage of the features of Java 5.0, and therefore requires a Java Virtual Machine of at least version 1.5.0.
<<lessAsterisk-Java is compatible with Asterisk 1.0 and 1.2. The FastAGI implementation supports all commands currently available from Asterisk.
The Manager API implementation supports receiving events from the Asterisk server (e.g. call progess, registered peers, channel state) and sending actions to Asterisk (e.g. originate call, agent login/logoff, start/stop voice recording).
Enhancements:
- This release has full support for Asterisk 1.4 and the new Live API (org.asteriskjava.live).
- The Live API takes care of the low-level action and event handling of the Manager API, and offers an intuitive API for Java developers.
- Asterisk-Java takes advantage of the features of Java 5.0, and therefore requires a Java Virtual Machine of at least version 1.5.0.
Download (0.38MB)
Added: 2007-07-02 License: The Apache License 2.0 Price:
525 downloads
PRES 1.10.0 Beta 1
PRES (the Press Release System) is a simple content management system. more>>
PRES project (the Press Release System) is a simple content management system, essentially targeted at producing a news and information site. Managing a PRES system is designed to be simple.
However, presentation is sophisticated and flexible. An elementary knowledge of IT would be useful but expertise in designing and managing websites is not a requirement. PRES can be used for anything from private blogging to corporate news systems.
Main features:
Flexible Presentation
- All content is generated as XML which is styled at server side with XSL-T stylesheets to provide the final look and feel of your pages. This permits an almost infinite variety of presentations. Furthermore, different XSL-T transforms can be associated with different categories, allowing you to have different styling for different parts of your site.
Caching
- Content is generated on request, but in order to limit the computational load on busy sites all content is cached for a limited period (by default twenty minutes).
Subscription
- PRES allows users to subscribe to categories - effectively sections of the site. When new stories are posted to a section youre subscribed to, you will automatically get email with a link to the story.
Syndication
- PRES makes its headlines available as a syndication feed, using both RSS 0.91 and RSS 1.0. This allows other news sites to automatically incorporate live headlines from a PRES site into their content.
Threaded Discussion
- PRES optionally allows registered users to add comments to stories in a threaded manner, similar to sites like Slashdot.
Moderation
- PRES optionally allows registered users to moderate other users comments.
<<lessHowever, presentation is sophisticated and flexible. An elementary knowledge of IT would be useful but expertise in designing and managing websites is not a requirement. PRES can be used for anything from private blogging to corporate news systems.
Main features:
Flexible Presentation
- All content is generated as XML which is styled at server side with XSL-T stylesheets to provide the final look and feel of your pages. This permits an almost infinite variety of presentations. Furthermore, different XSL-T transforms can be associated with different categories, allowing you to have different styling for different parts of your site.
Caching
- Content is generated on request, but in order to limit the computational load on busy sites all content is cached for a limited period (by default twenty minutes).
Subscription
- PRES allows users to subscribe to categories - effectively sections of the site. When new stories are posted to a section youre subscribed to, you will automatically get email with a link to the story.
Syndication
- PRES makes its headlines available as a syndication feed, using both RSS 0.91 and RSS 1.0. This allows other news sites to automatically incorporate live headlines from a PRES site into their content.
Threaded Discussion
- PRES optionally allows registered users to add comments to stories in a threaded manner, similar to sites like Slashdot.
Moderation
- PRES optionally allows registered users to moderate other users comments.
Download (7.2MB)
Added: 2007-05-15 License: GPL (GNU General Public License) Price:
893 downloads
FreeSMS 1.0
FreeSMS project is an application for managing an educational facility. more>>
FreeSMS project is an application for managing an educational facility.
It stands for Free Student Management System and it manages teachers and students and provides marketing, registration, course management, attendance, and a student evaluation system, and manages courses within a class environment.
Profile-based management is supported for administrators, teachers, and students. Teachers and students can be registered online.
Students are allowed to manage their own class enrolment and submit course evaluations, and teachers can manage student attendance.
The differential factor and elegance of this project lie in the OOP standard and a modular structure. The code is clean and very extendable.
Main features:
- Manage courses within a class environment
- Sopport for profile based management: Administrator, Teacher and Student
- Online teacher and student registration
- Allow students to self manage class enrollment
- Allow teachers to manage student attendance
- Ability for students to submit course evaluations
<<lessIt stands for Free Student Management System and it manages teachers and students and provides marketing, registration, course management, attendance, and a student evaluation system, and manages courses within a class environment.
Profile-based management is supported for administrators, teachers, and students. Teachers and students can be registered online.
Students are allowed to manage their own class enrolment and submit course evaluations, and teachers can manage student attendance.
The differential factor and elegance of this project lie in the OOP standard and a modular structure. The code is clean and very extendable.
Main features:
- Manage courses within a class environment
- Sopport for profile based management: Administrator, Teacher and Student
- Online teacher and student registration
- Allow students to self manage class enrollment
- Allow teachers to manage student attendance
- Ability for students to submit course evaluations
Download (0.26MB)
Added: 2006-10-16 License: The PHP License Price:
2501 downloads
Parse::Nibbler 1.10
Parse::Nibbler is Perl module to parse huge files using grammars written in pure perl. more>>
Parse::Nibbler is Perl module to parse huge files using grammars written in pure perl.
Create a parser object using the ->new method. This method is provided by the Parse::Nibbler module and should not be overridden.
The main functionality of the Parse::Nibbler module is the Register subroutine. This subroutine is used to define the rules of your grammar. The Register subroutine takes two parameters: A string and a code reference.
The string is the name of the rule (i.e. the name of the subroutine/method)
The code reference is a reference to the code to execute for this rule.
The Register subroutine will take the code reference, wrap it up in another subroutine that acts as a closure, and then installs that code reference as a subroutine with the name matching the given string.
The wrapper code (the closure) is the same for every rule. The wrapper code handles quantifiers, calls the rule, and decides what to do based on the rule passing or failing.
A rule is a code reference with a given string name that have been passed to Register. Here is an example of a rule:
Register ( Name, sub { my $p = shift; $p->AlternateValues( Jim, Scotty, Spock );
}
);
The parser object will always be passed in as the first parameter to your rule. You must pass this into any further rules or any Parse::Nibbler methods.
In the above example, the rule, "Name" is Registered. "Name" calls one of the builtin methods, AlternateValues, defined below. Once a rule is Registered, other rules can call it:
Register ( MedicalDiagnosis, sub { my $p = shift; $p->AlternateValues("Hes", "Shes"); $p->ValueIs("dead"); $p->ValueIs(","); $p->Name; $p->ValueIs("!"); } );
This code registers a rule called "MedicalDiagnosis". It uses some builtin methods, but it also calls the rule just registered, "Name".
Once a user defines a rule, they can use it in other rules by simply calling it as they would call a method.
Rules registered with the Parse::Nibbler module can be called with quantifiers. Quantifiers are passed into the Rule when you call it in your grammar by passing in a string that matches the format described here.
Quantifiers allow you to specify the quantity of rules present. Quantifiers also allow you to specify whether multiple rules have separators.
Quantifiers are specified using the following string format:
{quantifier}
This indicates that there are zero or one Name rules expected: $p->Name({?});
This indicates that there are zero or more Name rules expected: $p->Name({*});
This indicates that there are one or more Name rules expected: $p->Name({+});
This indicates that there are exactly three Name rules expected: $p->Name({3});
This indicates there are 1 to 3 Name rules expected: $p->Name({1:3});
This indicates there are at least 2 Name rules expected: $p->Name({2:);
Separators are specified using the following string format:
/separator/
This indicates 1 or more Name rules, each separated by a comma:
$p->Name({1:}/,/);
It is the job of the Register function to make sure this additional functionality is provided transparently and automagically to you.
If you call a rule with no quantifier and no separator, the rule will assume the quantifier is 1 and there is no separator.
Additional Parse::Nibbler methods are provided to simplify rule definition and to provide smart, automatic error handling, etc. You grammars should only call other rules that you defined, or these methods explained below.
(Note: these methods do not take quantifiers)
############### Method: ValueIs ###############
Parameters: One parameter, required. A string containing the expected value.
Example: $p->ValueIs( stringvalue );
Description:
This method will look at the next lexical and determine if its value matches that of the stringvalue given as a parameter. If it does not match, an exception is raised and the rule fails.
If the values do match, then the parser stores the lexical, and the rule continues.
####################### Method: AlternateValues #######################
Parameters: A list of string parameters, at least two values.
Example: $p-AlternateValues( value1, value2 );
Description:
This method behaves like the ValueIs method, except that it will recieve a list of allowed alternate expected values. The first match that succeeds causes the rule to pass and return.
If no match occurs, then an exception is raised and the rule aborts.
If a match does occur, the parser stores the lexical, and the rule continues.
############## Method: TypeIs ##############
Parameters: One parameter, required. A string containing the expected type.
Description:
This method will look at the next lexical item, and determine if the lexical type matches the type given as a parameter.
Valid type values depend on the Lexer that you use, but possible values may include "Identifier" and "Number", etc.
Use this in a case where your rule requires an identifier type, for example, but it does not care what the name of the identifier is for the rule.
If a match occurs, the parser stores the lexical and the rule continues.
If a match does not occur, an exception is raised, and the rule aborts.
###################### Method: AlternateRules ######################
Parameters: A list of string parameters, at least two.
Example: $p->AlternateRules( Rule1, Rule2 );
Description:
You can describe rule alternation in your rule by calling this method. The method takes a list of strings whose string values match the names of the valid alternate rule names.
In the above example, the McCoy rule is either a declaration of profession or a medical diagnosis. These are two rules that are defined in the same package. The AlternateRules method allows you to define multiple rules that may be valid at the same point in the text.
If a rule in the parameter list succeeds, the AlternateRule method succeeds, and returns immediately.
If no rule succeeds, an exception is thrown, and the rule aborts.
This rule expects either a "DeclareProfession" rule or a "MedicalDiagnosis" rule to be present.
Register ( McCoy, sub { my $p = shift; $p->AlternateRules( DeclareProfession, MedicalDiagnosis ); } );
You can specify quantifiers as part of the alternate rule strings.
$p->AlternateRules( DeclareProfession({+}), MedicalDiagnosis );
The above example indicates that you can have one or more DeclareProfession rules OR ALTERNATELY you can have exactly one MedicalDiagnosis rule.
EXPORT
Register, used to register the rules in your grammar.
<<lessCreate a parser object using the ->new method. This method is provided by the Parse::Nibbler module and should not be overridden.
The main functionality of the Parse::Nibbler module is the Register subroutine. This subroutine is used to define the rules of your grammar. The Register subroutine takes two parameters: A string and a code reference.
The string is the name of the rule (i.e. the name of the subroutine/method)
The code reference is a reference to the code to execute for this rule.
The Register subroutine will take the code reference, wrap it up in another subroutine that acts as a closure, and then installs that code reference as a subroutine with the name matching the given string.
The wrapper code (the closure) is the same for every rule. The wrapper code handles quantifiers, calls the rule, and decides what to do based on the rule passing or failing.
A rule is a code reference with a given string name that have been passed to Register. Here is an example of a rule:
Register ( Name, sub { my $p = shift; $p->AlternateValues( Jim, Scotty, Spock );
}
);
The parser object will always be passed in as the first parameter to your rule. You must pass this into any further rules or any Parse::Nibbler methods.
In the above example, the rule, "Name" is Registered. "Name" calls one of the builtin methods, AlternateValues, defined below. Once a rule is Registered, other rules can call it:
Register ( MedicalDiagnosis, sub { my $p = shift; $p->AlternateValues("Hes", "Shes"); $p->ValueIs("dead"); $p->ValueIs(","); $p->Name; $p->ValueIs("!"); } );
This code registers a rule called "MedicalDiagnosis". It uses some builtin methods, but it also calls the rule just registered, "Name".
Once a user defines a rule, they can use it in other rules by simply calling it as they would call a method.
Rules registered with the Parse::Nibbler module can be called with quantifiers. Quantifiers are passed into the Rule when you call it in your grammar by passing in a string that matches the format described here.
Quantifiers allow you to specify the quantity of rules present. Quantifiers also allow you to specify whether multiple rules have separators.
Quantifiers are specified using the following string format:
{quantifier}
This indicates that there are zero or one Name rules expected: $p->Name({?});
This indicates that there are zero or more Name rules expected: $p->Name({*});
This indicates that there are one or more Name rules expected: $p->Name({+});
This indicates that there are exactly three Name rules expected: $p->Name({3});
This indicates there are 1 to 3 Name rules expected: $p->Name({1:3});
This indicates there are at least 2 Name rules expected: $p->Name({2:);
Separators are specified using the following string format:
/separator/
This indicates 1 or more Name rules, each separated by a comma:
$p->Name({1:}/,/);
It is the job of the Register function to make sure this additional functionality is provided transparently and automagically to you.
If you call a rule with no quantifier and no separator, the rule will assume the quantifier is 1 and there is no separator.
Additional Parse::Nibbler methods are provided to simplify rule definition and to provide smart, automatic error handling, etc. You grammars should only call other rules that you defined, or these methods explained below.
(Note: these methods do not take quantifiers)
############### Method: ValueIs ###############
Parameters: One parameter, required. A string containing the expected value.
Example: $p->ValueIs( stringvalue );
Description:
This method will look at the next lexical and determine if its value matches that of the stringvalue given as a parameter. If it does not match, an exception is raised and the rule fails.
If the values do match, then the parser stores the lexical, and the rule continues.
####################### Method: AlternateValues #######################
Parameters: A list of string parameters, at least two values.
Example: $p-AlternateValues( value1, value2 );
Description:
This method behaves like the ValueIs method, except that it will recieve a list of allowed alternate expected values. The first match that succeeds causes the rule to pass and return.
If no match occurs, then an exception is raised and the rule aborts.
If a match does occur, the parser stores the lexical, and the rule continues.
############## Method: TypeIs ##############
Parameters: One parameter, required. A string containing the expected type.
Description:
This method will look at the next lexical item, and determine if the lexical type matches the type given as a parameter.
Valid type values depend on the Lexer that you use, but possible values may include "Identifier" and "Number", etc.
Use this in a case where your rule requires an identifier type, for example, but it does not care what the name of the identifier is for the rule.
If a match occurs, the parser stores the lexical and the rule continues.
If a match does not occur, an exception is raised, and the rule aborts.
###################### Method: AlternateRules ######################
Parameters: A list of string parameters, at least two.
Example: $p->AlternateRules( Rule1, Rule2 );
Description:
You can describe rule alternation in your rule by calling this method. The method takes a list of strings whose string values match the names of the valid alternate rule names.
In the above example, the McCoy rule is either a declaration of profession or a medical diagnosis. These are two rules that are defined in the same package. The AlternateRules method allows you to define multiple rules that may be valid at the same point in the text.
If a rule in the parameter list succeeds, the AlternateRule method succeeds, and returns immediately.
If no rule succeeds, an exception is thrown, and the rule aborts.
This rule expects either a "DeclareProfession" rule or a "MedicalDiagnosis" rule to be present.
Register ( McCoy, sub { my $p = shift; $p->AlternateRules( DeclareProfession, MedicalDiagnosis ); } );
You can specify quantifiers as part of the alternate rule strings.
$p->AlternateRules( DeclareProfession({+}), MedicalDiagnosis );
The above example indicates that you can have one or more DeclareProfession rules OR ALTERNATELY you can have exactly one MedicalDiagnosis rule.
EXPORT
Register, used to register the rules in your grammar.
Download (0.033MB)
Added: 2007-02-22 License: Perl Artistic License Price:
974 downloads
Params::Profile 0.10
Params::Profile is a Perl module for registering Parameter profiles. more>>
Params::Profile is a Perl module for registering Parameter profiles.
SYNOPSIS
package Foo::Bar;
use Params::Profile;
### Single profile
Params::Profile->register_profile(
method => subroto,
profile => {
testkey1 => { required => 1 },
testkey2 => {
required => 1,
allow => qr/^d+$/,
},
testkey3 => {
allow => qr/^w+$/,
},
},
);
sub subroto {
my (%params) = @_;
return unlesss Params::Profile->validate(params => %params);
### DO SOME STUFF HERE ...
}
my $profile = Params::Profile->get_profile(method => subroto);
### Multiple Profile
Params::Profile->register_profile(
method => subalso,
profile => [
subroto,
{
testkey4 => { required => 1 },
testkey5 => {
required => 1,
allow => qr/^d+$/,
},
testkey6 => {
allow => qr/^w+$/,
},
},
],
);
sub subalso {
my (%params) = @_;
### Checks parameters agains profile of subroto and above registered
### profile
return unlesss Params::Profile->validate(params => %params);
### DO SOME STUFF HERE ...
}
Params::Profile provides a mechanism for a centralised Params::Check or a Data::FormValidater profile. You can bind a profile to a class::subroutine, then, when you are in a subroutine you can simply call Params::Profile->check($params) of Params::Profile->validate($params) to validate against this profile. Validate will return true or false on successfull or failed validation. Check will return what Data::FormValidator or Params::Check would return. (For Params::Check this is simply a hash with the validated parameters , for Data::FormValidator, this is a Data::FormValidator::Results object)
<<lessSYNOPSIS
package Foo::Bar;
use Params::Profile;
### Single profile
Params::Profile->register_profile(
method => subroto,
profile => {
testkey1 => { required => 1 },
testkey2 => {
required => 1,
allow => qr/^d+$/,
},
testkey3 => {
allow => qr/^w+$/,
},
},
);
sub subroto {
my (%params) = @_;
return unlesss Params::Profile->validate(params => %params);
### DO SOME STUFF HERE ...
}
my $profile = Params::Profile->get_profile(method => subroto);
### Multiple Profile
Params::Profile->register_profile(
method => subalso,
profile => [
subroto,
{
testkey4 => { required => 1 },
testkey5 => {
required => 1,
allow => qr/^d+$/,
},
testkey6 => {
allow => qr/^w+$/,
},
},
],
);
sub subalso {
my (%params) = @_;
### Checks parameters agains profile of subroto and above registered
### profile
return unlesss Params::Profile->validate(params => %params);
### DO SOME STUFF HERE ...
}
Params::Profile provides a mechanism for a centralised Params::Check or a Data::FormValidater profile. You can bind a profile to a class::subroutine, then, when you are in a subroutine you can simply call Params::Profile->check($params) of Params::Profile->validate($params) to validate against this profile. Validate will return true or false on successfull or failed validation. Check will return what Data::FormValidator or Params::Check would return. (For Params::Check this is simply a hash with the validated parameters , for Data::FormValidator, this is a Data::FormValidator::Results object)
Download (0.006MB)
Added: 2007-04-11 License: Perl Artistic License Price:
926 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 registered 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