web data extractor 4.3
Sponsored Links
Sponsored Links
Secleted [ 0 ] software to compare
Results 1 - 15 of about 8209
XML Extractor 0.3.0
XML Extractor is a set of tools for transforming XML-like markup into entities or well-formed XML files. more>>
XML Extractor is a set of tools for transforming XML-like markup into entities or well-formed XML files.
The sourcecode XML metadata extraction tools are intended to be used for extracting and transforming XML-like markup embedded in source code comments into syntactically correct external entities or well-formed XML files.
This can be used for JavaDoc-like code annotation, providing structured comments, or even embedding metadata used by the build process or configuration management tools.
INSTALLATION
For info and options about installing this tool, type:
# python setup.py --help
USAGE
To see usage info for this tool, type:
# python xlf_to_wfx_cli.py --help
<<lessThe sourcecode XML metadata extraction tools are intended to be used for extracting and transforming XML-like markup embedded in source code comments into syntactically correct external entities or well-formed XML files.
This can be used for JavaDoc-like code annotation, providing structured comments, or even embedding metadata used by the build process or configuration management tools.
INSTALLATION
For info and options about installing this tool, type:
# python setup.py --help
USAGE
To see usage info for this tool, type:
# python xlf_to_wfx_cli.py --help
Download (0.020MB)
Added: 2006-10-04 License: LGPL (GNU Lesser General Public License) Price:
1116 downloads
Flat File Extractor 0.2.2
Flat File Extractor can be used for reading different flat file structures and printing them in different formats. more>>
Flat File Extractor can be used for reading different flat file structures and printing them in different formats. ffe is a command line tool developed in GNU/Linux environment and it is distributed under GNU General Public License 2 or later.
Main areas of use are:
- Extracting particular fields or records from a flat file
- Converting data from one format to an other, e.g. from CSV to fixed length
- Verifying a flat file structure
- Testing tool for flat file development
- Displaying flat file content in human readable form
Main features:
- Command-line tool
- Reads standard input and writes to standard output as default
- One input file can contain several types of records (lines)
- Fields in a flat file can be fixed length or separated
- Input file structure and output definitions are independent, meaning one output format can be used with several input files
- Input file structure and output format are freely configurable, they are not predefined
- Output can be formatted e.g. as: fixed length, separated, tokenized, XML, SQL,...
- ffe tries to guess the input format, user needs not to give it as a parameter
Enhancements:
- Configuration keyword const has been added
<<lessMain areas of use are:
- Extracting particular fields or records from a flat file
- Converting data from one format to an other, e.g. from CSV to fixed length
- Verifying a flat file structure
- Testing tool for flat file development
- Displaying flat file content in human readable form
Main features:
- Command-line tool
- Reads standard input and writes to standard output as default
- One input file can contain several types of records (lines)
- Fields in a flat file can be fixed length or separated
- Input file structure and output definitions are independent, meaning one output format can be used with several input files
- Input file structure and output format are freely configurable, they are not predefined
- Output can be formatted e.g. as: fixed length, separated, tokenized, XML, SQL,...
- ffe tries to guess the input format, user needs not to give it as a parameter
Enhancements:
- Configuration keyword const has been added
Download (0.23MB)
Added: 2007-05-30 License: GPL (GNU General Public License) Price:
882 downloads

Unix configuration extractor 4
The Unix configuration extractor is a script more>> The Unix configuration extractor is a script that runs on the server to extract necessary security configurations. This script doesnt make any changes to the server other than creating the dump files<<less
Download (19KB)
Added: 2009-03-31 License: Freeware Price: Free
206 downloads
Obscure-Extractor-GTK 0.2
Obscure-Extractor-GTK can extract data from simple and unusual archives as used by games. more>>
Obscure-Extractor-GTK can extract data from simple and unusual archives as used by games, e.g. Neverwinter Nights, Homeworld 2, BloodRayne.
Mostly a framework where I can easily add new modules when I want to have a look at the inner workings of games, though the Delphi version has some more advanced stuff like support for old InstallShield archives that would need to be ported.
<<lessMostly a framework where I can easily add new modules when I want to have a look at the inner workings of games, though the Delphi version has some more advanced stuff like support for old InstallShield archives that would need to be ported.
Download (0.012MB)
Added: 2006-07-24 License: GPL (GNU General Public License) Price:
1202 downloads
web-nsupdate 1.0
web-nsupdate is a web-based dynamic DNS update utility. more>>
web-nsupdate is a web-based dynamic DNS update utility.
The web-nsupdate package provides a simple, web-based facility for clients to send dynamic DNS updates. Clients are typically DHCP hosts, such as a Linux system acting as a gateway for residential broadband service.
The client sends a simple web request (such as with the wget(1) or lynx(1) commands) to the web-nsupdate service to register their host request.
This package has been tested on a server with the following Debian packages:
* bind9 (ver 9.2.4-1)
* apache2 (ver 2.0.54-5)
* php4 (ver 4.3.10-16)
BE ADVISED: Its a pain in the butt to configure BIND to do dynamic DNS. You are going to need to do that to make "web-nsupdate" work. These instructions describe that process, so follow carefully. I *strongly* urge you to review the dnssec-keygen(8) and nsupdate(8) man pages first, so you can get some idea of what we are trying to accomplish.
Installation Instructions:
1. Copy the "web-nsupdate" files to a location such as
"/usr/local/lib/web-nsupdate". It is OK to install somewhere else,
just adjust the following directions accordingly.
2. Generate a TSIG key that "web-nsupdate" will use to authenticate
itself to the DNS server.
SECURE THIS KEY! Do not leave readable copies around. This key can
be used to make changes to DNS records managed by "web-nsupdate".
Here are the steps to generate the key:
cd /usr/local/lib/web-nsupdate
/usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n HOST web-nsupdate
chmod 440 Kweb-nsupdate*
# Below, adjust "www-data" to the GID your web server runs under.
chgrp www-data Kweb-nsupdate*
3. Setup the "web-nsupdate" definitions file, starting with the provided
sample. This file needs to be secured, to protect the client passwords
from being revealed.
cd /usr/local/lib/web-nsupdate
cp nsupdate-defs.php.sample nsupdate-defs.php
chmod 640 nsupdate-defs.php
# Below, adjust "www-data" to the GID your web server runs under.
chgrp www-data nsupdate-defs.php
vi nsupdate-defs.php
4. Verify that "nsupdate.php" has the correct path to the "nsupdate-defs.php"
file.
vi nsupdate.php
# Check the require_once() statement near the top.
5. Symlink the update script into your web site.
# Below, adjust "/var/www/nsupdate.php" to a location in your web server.
ln -s /usr/local/lib/web-nsupdate/nsupdate.php /var/www/nsupdate.php
At this point, the "web-nsupdate" front-end is configured. Now to
configure the nameserver back-end.
6. Assuming you dont already have a place for nameserver keys, create
a new file called "named.keys" that contains the TSIG key that
"web-nsupdate" will use. The file will look something like:
key web-nsupdate {
algorithm HMAC-MD5;
secret "jzzoMR4ocgZGq5pQho2Pr5r9DDHT4lWK8QO09cpvVtpvHqaUdzktBs1DHCslpPR8PwXU3ni8zjST/5FxEwg44Q==";
};
Replace the "secret" value show above with the key in the
"Kweb-nsupdate.+157+nnnnn.private" file you generated in step 2.
7. Install the "named.keys" file to the directory where your "named.conf"
resides. This file needs to be secured, to protect your namesever
from unauthorized updates.
If your "named.conf" directory is "/etc/bind", do:
# Below, adjust /etc/bind to directory where named.conf lives.
mv named.keys /etc/bind/named.keys
chmod 400 /etc/bind/named.keys
# Below, adjust "bind:bind" to the UID:GID your nameserver runs under.
chown bind:bind /etc/bind/named.keys
8. Add a line to your "named.conf" that says:
include "named.keys";
9. Modify your "named.conf" to list each host that web-nsupdate will
be updating. If, for example, you want to allow dynamic updates
from hosts "host1.example.com" and "host2.example.com", then modify
the "example.com" stanza in "named.conf" and add two lines:
zone "example.com" {
type master;
.
.
.
# add the lines below, one per host in thie zone
update-policy {
grant web-nsupdate. name host1.example.com. A;
grant web-nsupdate. name host2.example.com. A;
};
};
10. Test the update capability. Point your web browser to the installed
"nsupdate.php" script. This should bring up a form for manual
entry. Submit your entry, and verify the update was successful.
<<lessThe web-nsupdate package provides a simple, web-based facility for clients to send dynamic DNS updates. Clients are typically DHCP hosts, such as a Linux system acting as a gateway for residential broadband service.
The client sends a simple web request (such as with the wget(1) or lynx(1) commands) to the web-nsupdate service to register their host request.
This package has been tested on a server with the following Debian packages:
* bind9 (ver 9.2.4-1)
* apache2 (ver 2.0.54-5)
* php4 (ver 4.3.10-16)
BE ADVISED: Its a pain in the butt to configure BIND to do dynamic DNS. You are going to need to do that to make "web-nsupdate" work. These instructions describe that process, so follow carefully. I *strongly* urge you to review the dnssec-keygen(8) and nsupdate(8) man pages first, so you can get some idea of what we are trying to accomplish.
Installation Instructions:
1. Copy the "web-nsupdate" files to a location such as
"/usr/local/lib/web-nsupdate". It is OK to install somewhere else,
just adjust the following directions accordingly.
2. Generate a TSIG key that "web-nsupdate" will use to authenticate
itself to the DNS server.
SECURE THIS KEY! Do not leave readable copies around. This key can
be used to make changes to DNS records managed by "web-nsupdate".
Here are the steps to generate the key:
cd /usr/local/lib/web-nsupdate
/usr/sbin/dnssec-keygen -a HMAC-MD5 -b 512 -n HOST web-nsupdate
chmod 440 Kweb-nsupdate*
# Below, adjust "www-data" to the GID your web server runs under.
chgrp www-data Kweb-nsupdate*
3. Setup the "web-nsupdate" definitions file, starting with the provided
sample. This file needs to be secured, to protect the client passwords
from being revealed.
cd /usr/local/lib/web-nsupdate
cp nsupdate-defs.php.sample nsupdate-defs.php
chmod 640 nsupdate-defs.php
# Below, adjust "www-data" to the GID your web server runs under.
chgrp www-data nsupdate-defs.php
vi nsupdate-defs.php
4. Verify that "nsupdate.php" has the correct path to the "nsupdate-defs.php"
file.
vi nsupdate.php
# Check the require_once() statement near the top.
5. Symlink the update script into your web site.
# Below, adjust "/var/www/nsupdate.php" to a location in your web server.
ln -s /usr/local/lib/web-nsupdate/nsupdate.php /var/www/nsupdate.php
At this point, the "web-nsupdate" front-end is configured. Now to
configure the nameserver back-end.
6. Assuming you dont already have a place for nameserver keys, create
a new file called "named.keys" that contains the TSIG key that
"web-nsupdate" will use. The file will look something like:
key web-nsupdate {
algorithm HMAC-MD5;
secret "jzzoMR4ocgZGq5pQho2Pr5r9DDHT4lWK8QO09cpvVtpvHqaUdzktBs1DHCslpPR8PwXU3ni8zjST/5FxEwg44Q==";
};
Replace the "secret" value show above with the key in the
"Kweb-nsupdate.+157+nnnnn.private" file you generated in step 2.
7. Install the "named.keys" file to the directory where your "named.conf"
resides. This file needs to be secured, to protect your namesever
from unauthorized updates.
If your "named.conf" directory is "/etc/bind", do:
# Below, adjust /etc/bind to directory where named.conf lives.
mv named.keys /etc/bind/named.keys
chmod 400 /etc/bind/named.keys
# Below, adjust "bind:bind" to the UID:GID your nameserver runs under.
chown bind:bind /etc/bind/named.keys
8. Add a line to your "named.conf" that says:
include "named.keys";
9. Modify your "named.conf" to list each host that web-nsupdate will
be updating. If, for example, you want to allow dynamic updates
from hosts "host1.example.com" and "host2.example.com", then modify
the "example.com" stanza in "named.conf" and add two lines:
zone "example.com" {
type master;
.
.
.
# add the lines below, one per host in thie zone
update-policy {
grant web-nsupdate. name host1.example.com. A;
grant web-nsupdate. name host2.example.com. A;
};
};
10. Test the update capability. Point your web browser to the installed
"nsupdate.php" script. This should bring up a form for manual
entry. Submit your entry, and verify the update was successful.
Download (0.005MB)
Added: 2006-11-20 License: GPL (GNU General Public License) Price:
636 downloads
GPS Tracker 0.3.1
GPS Tracker project allows someone to track a GPS enabled cell phone using Google maps. more>>
GPS Tracker project allows someone to track a GPS enabled cell phone using Google maps. For this project I used a Motorola i355 cell phone on the Sprint/Nextel network.
You need to have a data plan so that you can make updates to your website from the cellphone. Please read the ReadMe.txt file in the download for installation instructions. I hope you enjoy the project. If you have any questions, feel free ask them in the forum.
There are two projects available. The first project is built with .NET and Microsoft SQL Server. The second project is built with PHP and MySQL. If you have any suggestions, please feel free to let me know. Both projects use java (J2ME) on the phone.
How It Works:
None of the code for this project is very difficult, but it does span a number of tiers and languages which may be unfamiliar to some. Figure 1 shows the data flow from phone to Google map.
Phone
Lets start with the code on the phone. This app is written in java using Java 2 Micro Edition (J2ME). Java is very similar to C#. As you look through the code, the only thing that might confuse a C# coder is the vector. A java vector is pretty much a C# ArrayList, a dynamic array. There are 2 classes in the app, LBSMidlet7 and Qworker. A midlet is an app that runs on cell phones. Take a look at the class definition. It extends the MIDlet class and implements a LocationListener interface. That means that we need to put all the method definitions of that interface into our class. Well get to that in a bit, right now lets look at the constructor.
We do 2 things in the constructor. We create a QWorker object and pass it "this" and the website that we will be uploading to. The getAppProperty method gets attributes out of the JAD file. Open the JAD file in your favorite text editor and there youll see the webpage that youll be sending GPS data to. Notice how were passing "this" to the GWorker object? Thats the LBSMidlet7 object. Take a quick look at the QWorker class, it extends the Thread class. Thats why we call worker.start() in the LBSMidlet7 constructor. We want to start our worker thread.
When you start a thread, what you are doing is creating an object and then running that objects run() method. Take a look at the run method. It has an endless loop and in the loop the first thing it does is call queue.wait(). Look at the definition of the queue. The queue is an abstract data type (ADT), it just like a queue at a bank, enter the queue at the back of the line and leave the queue when you get to the front of the line. Look at the definition of the queue, its our vector (dynamic array). When you call wait() on an object within a class that extends the Thread class, it puts that object to sleep. Think about that a little. When we hit that line, our QWorker object is now waiting... Whats it waiting for? Well get to that in a minute. Before we do that, take a look at the synchronized keyword. Notice that its wrapping the queue. What that does is it puts a lock on the queue and tells all other processes not to touch the queue until that little block of code is done with it.
Ok, so now weve started a worker thread and put it to sleep. Lets now go back to the LBSMidlet7 class and take a look at the startApp() method. In the lifecycle of a midlet, the constructor is called once and then the startApp() method is called next. In fact it can be called several times, like for instance when you close a flip phone and then open it again. What happens is that the app is suspended and when you flip the phone open again, startApp() is called again. In startApp(), we get our display and then we create a LocationProvider if one hasnt already been created and we create another thread... Why are we creating all these threads? Good question. When a midlet (app) is suspended, the backgroud threads that are created keep running. That allows us to get our GPS data and send it to our webserver while we do other important stuff, like make phone calls.
The LocationProvider is what gets our GPS data. First we create a criteria, were using the default, but you can set stuff like accuracy, response time etc. Next we create our Location Listener. Its pretty much just what it sounds like. Here you can set the interval for how often you want to get GPS data. Its currently set to 60 which is in seconds. When data comes in, the locationUpdated() method is called. This is another one of the required methods in the LocationListener interface. Here we create yet another thread and call getLocation(). The getLocation() method gets the GPS coordinates, creates a queryString which we will send to the web server a little later and then calls worker.addToQueue in the QWorker class.
Lets go back over to the QWorker class and see what happens in that method. It add the queryString to the queue and then calls queue.notify(). Guess what queue.notify() does? It wakes up our sleeping QWorker thread and tells it to get to work! Notice that our calls to the queue are once again wrapped in a synchronized block. Please practice safe threading... When notify() is called on a thread, what it does is go back to the run() method and execute the next line of code right after where we told the queue to wait(). So now we are just about ready to send the GPS data to the web server. We have a couple of interesting lines of code there. First we call peekInQueue() which gets the queryString out of the queue but leaves it there for now. Then it sends the queryString to the getUrl method which attempts to send the queryString to our web server. If its successful, we can remove the queryString from the queue. If not, we leave the queryString in the queue and try to send it to the webserver again later.
Why in the world do we have this complicated queue here? Im glad you asked. There may be times when you are receiving GPS data but are not actually in an area that has a cell phone connection. If we dont have a cell phone connection, we cant send our GPS data to our web server. So we stick our queryString in our queue and wait until we get back into an area with cell phone connectability. Can you hear me now?
Well, weve spent a pretty fair bit of time explaining the phone code. Its a little complicated but its important to know whats going on if you want to take the code and make modifications to it to suit your needs. Heres a good article on the Sun website to let you know about more capabilities of the Location Based Services API. Right about now, our queryString should be arriving at our website, lets catch up to it and see what happens.
Enhancements:
- Added comments to code
<<lessYou need to have a data plan so that you can make updates to your website from the cellphone. Please read the ReadMe.txt file in the download for installation instructions. I hope you enjoy the project. If you have any questions, feel free ask them in the forum.
There are two projects available. The first project is built with .NET and Microsoft SQL Server. The second project is built with PHP and MySQL. If you have any suggestions, please feel free to let me know. Both projects use java (J2ME) on the phone.
How It Works:
None of the code for this project is very difficult, but it does span a number of tiers and languages which may be unfamiliar to some. Figure 1 shows the data flow from phone to Google map.
Phone
Lets start with the code on the phone. This app is written in java using Java 2 Micro Edition (J2ME). Java is very similar to C#. As you look through the code, the only thing that might confuse a C# coder is the vector. A java vector is pretty much a C# ArrayList, a dynamic array. There are 2 classes in the app, LBSMidlet7 and Qworker. A midlet is an app that runs on cell phones. Take a look at the class definition. It extends the MIDlet class and implements a LocationListener interface. That means that we need to put all the method definitions of that interface into our class. Well get to that in a bit, right now lets look at the constructor.
We do 2 things in the constructor. We create a QWorker object and pass it "this" and the website that we will be uploading to. The getAppProperty method gets attributes out of the JAD file. Open the JAD file in your favorite text editor and there youll see the webpage that youll be sending GPS data to. Notice how were passing "this" to the GWorker object? Thats the LBSMidlet7 object. Take a quick look at the QWorker class, it extends the Thread class. Thats why we call worker.start() in the LBSMidlet7 constructor. We want to start our worker thread.
When you start a thread, what you are doing is creating an object and then running that objects run() method. Take a look at the run method. It has an endless loop and in the loop the first thing it does is call queue.wait(). Look at the definition of the queue. The queue is an abstract data type (ADT), it just like a queue at a bank, enter the queue at the back of the line and leave the queue when you get to the front of the line. Look at the definition of the queue, its our vector (dynamic array). When you call wait() on an object within a class that extends the Thread class, it puts that object to sleep. Think about that a little. When we hit that line, our QWorker object is now waiting... Whats it waiting for? Well get to that in a minute. Before we do that, take a look at the synchronized keyword. Notice that its wrapping the queue. What that does is it puts a lock on the queue and tells all other processes not to touch the queue until that little block of code is done with it.
Ok, so now weve started a worker thread and put it to sleep. Lets now go back to the LBSMidlet7 class and take a look at the startApp() method. In the lifecycle of a midlet, the constructor is called once and then the startApp() method is called next. In fact it can be called several times, like for instance when you close a flip phone and then open it again. What happens is that the app is suspended and when you flip the phone open again, startApp() is called again. In startApp(), we get our display and then we create a LocationProvider if one hasnt already been created and we create another thread... Why are we creating all these threads? Good question. When a midlet (app) is suspended, the backgroud threads that are created keep running. That allows us to get our GPS data and send it to our webserver while we do other important stuff, like make phone calls.
The LocationProvider is what gets our GPS data. First we create a criteria, were using the default, but you can set stuff like accuracy, response time etc. Next we create our Location Listener. Its pretty much just what it sounds like. Here you can set the interval for how often you want to get GPS data. Its currently set to 60 which is in seconds. When data comes in, the locationUpdated() method is called. This is another one of the required methods in the LocationListener interface. Here we create yet another thread and call getLocation(). The getLocation() method gets the GPS coordinates, creates a queryString which we will send to the web server a little later and then calls worker.addToQueue in the QWorker class.
Lets go back over to the QWorker class and see what happens in that method. It add the queryString to the queue and then calls queue.notify(). Guess what queue.notify() does? It wakes up our sleeping QWorker thread and tells it to get to work! Notice that our calls to the queue are once again wrapped in a synchronized block. Please practice safe threading... When notify() is called on a thread, what it does is go back to the run() method and execute the next line of code right after where we told the queue to wait(). So now we are just about ready to send the GPS data to the web server. We have a couple of interesting lines of code there. First we call peekInQueue() which gets the queryString out of the queue but leaves it there for now. Then it sends the queryString to the getUrl method which attempts to send the queryString to our web server. If its successful, we can remove the queryString from the queue. If not, we leave the queryString in the queue and try to send it to the webserver again later.
Why in the world do we have this complicated queue here? Im glad you asked. There may be times when you are receiving GPS data but are not actually in an area that has a cell phone connection. If we dont have a cell phone connection, we cant send our GPS data to our web server. So we stick our queryString in our queue and wait until we get back into an area with cell phone connectability. Can you hear me now?
Well, weve spent a pretty fair bit of time explaining the phone code. Its a little complicated but its important to know whats going on if you want to take the code and make modifications to it to suit your needs. Heres a good article on the Sun website to let you know about more capabilities of the Location Based Services API. Right about now, our queryString should be arriving at our website, lets catch up to it and see what happens.
Enhancements:
- Added comments to code
Download (MB)
Added: 2007-07-25 License: GPL (GNU General Public License) Price:
578 downloads
XAO Web Developer 1.07
XAO Suite is a set of perl modules created primarily for building dynamic, database driven web sites. more>>
XAO::Web is a part of XAO open source web services suite. It allows to build dynamic web content using data, templates and external input.
The distinguishing feature of XAO::Web is in its modular design where almost every aspect of functionality can be altered and alterations can be re-used. No complex code is embedded in the templates which allows to upgrade code and templates separately or maintain multiple visual representations of the same functionality at the same time.
Installation
perl Makefile.PL
make
make test
sudo make install
Saying "install XAO::Web" from the CPAN shell is a good way too:
perl -MCPAN -eshell
install XAO::Web
Using CPAN shell is usually the best way because all dependencies will be resolved automatically.
If you do manual installation then XAO::Web depends on at least the following modules (look into Makefile.PL or just watch closely the output of `perl Makefile.PL for additional dependencies):
XAO::Base
XAO::FS
Digest::MD5
Error
MIME::Lite
Test::Unit
When you run "perl Makefile.PL" you will be asked for XAO::Web test database. That database is only used when you do `make test and it have to exist. It does not matter what is inside the database, it will be completely wiped out for each test case.
Normally the database should be the same that you have used for XAO::FS tests and in case of MySQL is usually test or test_fs.
The directory where templates get installed is the same that you gave to XAO::Base when you installed it. Normally that directory is /usr/local/xao -- we will assume that for the rest of the document.
Main features:
- Perl code is not mixed with templates. Templates can be normal HTML files if no processing is required.
- A specific site can replace or modify standard XAO::Web objects if required by overriding or extending their methods. You do not need to re-implement entire object to make a site specific change. In case of system object upgrade or bug fix there is no need to alter site-specific changes normally.
- Site can create any extension objects or embed third-party extensions as well.
- One server can serve arbitrary number of XAO::Web sites each with however extended functionality without creating any conflicts. That includes different modifications to the system objects for different sites.
- Not limited to Web environment, allows to build any dynamic content -- content of mail messages or reports for instance.
- Works with CGI or mod_perl (mod_perl is recommended for production grade sites).
- If used in mod_perl mode improves performance by using caching of configuration, parsed templates, database handlers and so on.
- XAO::Web is by default integrated with XAO::FS (see XAO::FS) as a database layer, but this is not a requrement -- if for any reason a different database must be used for a site it can be easily and gracefully achieved.
- Hosting providers can allow their customers to build very complex sites without allowing them to execute arbitrary code, by allowing to modify only templates.
Enhancements:
- Fixed a problem with Web.pm for mod_perl usage, introduced last minute just before releasing 1.06
<<lessThe distinguishing feature of XAO::Web is in its modular design where almost every aspect of functionality can be altered and alterations can be re-used. No complex code is embedded in the templates which allows to upgrade code and templates separately or maintain multiple visual representations of the same functionality at the same time.
Installation
perl Makefile.PL
make
make test
sudo make install
Saying "install XAO::Web" from the CPAN shell is a good way too:
perl -MCPAN -eshell
install XAO::Web
Using CPAN shell is usually the best way because all dependencies will be resolved automatically.
If you do manual installation then XAO::Web depends on at least the following modules (look into Makefile.PL or just watch closely the output of `perl Makefile.PL for additional dependencies):
XAO::Base
XAO::FS
Digest::MD5
Error
MIME::Lite
Test::Unit
When you run "perl Makefile.PL" you will be asked for XAO::Web test database. That database is only used when you do `make test and it have to exist. It does not matter what is inside the database, it will be completely wiped out for each test case.
Normally the database should be the same that you have used for XAO::FS tests and in case of MySQL is usually test or test_fs.
The directory where templates get installed is the same that you gave to XAO::Base when you installed it. Normally that directory is /usr/local/xao -- we will assume that for the rest of the document.
Main features:
- Perl code is not mixed with templates. Templates can be normal HTML files if no processing is required.
- A specific site can replace or modify standard XAO::Web objects if required by overriding or extending their methods. You do not need to re-implement entire object to make a site specific change. In case of system object upgrade or bug fix there is no need to alter site-specific changes normally.
- Site can create any extension objects or embed third-party extensions as well.
- One server can serve arbitrary number of XAO::Web sites each with however extended functionality without creating any conflicts. That includes different modifications to the system objects for different sites.
- Not limited to Web environment, allows to build any dynamic content -- content of mail messages or reports for instance.
- Works with CGI or mod_perl (mod_perl is recommended for production grade sites).
- If used in mod_perl mode improves performance by using caching of configuration, parsed templates, database handlers and so on.
- XAO::Web is by default integrated with XAO::FS (see XAO::FS) as a database layer, but this is not a requrement -- if for any reason a different database must be used for a site it can be easily and gracefully achieved.
- Hosting providers can allow their customers to build very complex sites without allowing them to execute arbitrary code, by allowing to modify only templates.
Enhancements:
- Fixed a problem with Web.pm for mod_perl usage, introduced last minute just before releasing 1.06
Download (0.11MB)
Added: 2005-09-22 License: Artistic License Price:
1492 downloads
Virtual Data Center 1.04-11
The Virtual Data Center (VDC) is a digital library system more>>
The Virtual Data Center (VDC) is a digital library system "in a box" for numeric data.
The VDC is a web application which provides everything necessary to maintain and disseminate collections of research studies: including facilities for the storage, archiving, cataloging, translation, and dissemination of each collection.
It includes on-line analysis, powered by the R Statistical environment. It also provides extensive support for distributed and federated collections including: location-independent naming of objects, distributed authentication and access control, federated metadata harvesting, remote repository caching, and distributed virtual
<<lessThe VDC is a web application which provides everything necessary to maintain and disseminate collections of research studies: including facilities for the storage, archiving, cataloging, translation, and dissemination of each collection.
It includes on-line analysis, powered by the R Statistical environment. It also provides extensive support for distributed and federated collections including: location-independent naming of objects, distributed authentication and access control, federated metadata harvesting, remote repository caching, and distributed virtual
Download (14.5MB)
Added: 2006-04-18 License: GPL (GNU General Public License) Price:
1287 downloads
Web Business Pro 4a
Web Business Pro is a Web application designed for everyday business activities. more>>
Web Business Pro is a Web application designed for everyday business activities. The project includes support for customer lists, inventory, receipt printing, and accounting. Fully featured search functions and filters make it easy to find what you need quickly.
<<less Download (1.3MB)
Added: 2007-07-22 License: LGPL (GNU Lesser General Public License) Price:
828 downloads
MySpace Data Mining Tools 1.1
MySpace Data Mining Tools are a set of Java classes designed to mine information from MySpace profile and blog pages. more>>
MySpace Data Mining Tools are a set of Java classes designed to mine information from MySpace profile and blog pages using a multi-threaded Web page access method.
Enhancements:
- Direct database connectivity via JDBC was implemented for data storage.
- A basic user profile class was created to handle both user data compression and database access.
- Minor bugs were fixed for some of the raw data accessing routines.
<<lessEnhancements:
- Direct database connectivity via JDBC was implemented for data storage.
- A basic user profile class was created to handle both user data compression and database access.
- Minor bugs were fixed for some of the raw data accessing routines.
Download (0.035MB)
Added: 2006-07-30 License: GPL (GNU General Public License) Price:
1191 downloads
Web-Affiliate-Program 1.0
The Ultimate Safe Money Guide -Free Online Money Guide Make Your Online Money The Safe Way And Generate a Daily Income Stream. The best thing I came ... more>> <<less
Download (2117KB)
Added: 2009-04-23 License: Freeware Price: Free
183 downloads
Datamixer 0.1.88
Datamixer generates mock data, mixes it with data from other sources such as files, and can write the results back to files or t more>>
How do you build a web application without data? Suppose it has many pages, including forms and pages for display. Until theyre developed, users cant enter information. Mock data has to be provided to the application, to test the interaction between screens, business logic, and database.
It may take a good amount of effort to create a mock dataset large and complex enough to mimic real world situations. For example, it is not unusual for an application to be supported by a database schema with hundreds of tables, each with many columns and many foreign key relationships. The database may have millions of rows of data. Datatypes include integer, floating precision, datetime, and string. There are a wide range of values, and they are dependent on each other in ways that must satisfy the business requirements.
Mock data is useful at various points in development. It can be used with an HTTP test client, to simulate the responses a user makes at the front end. It can be inserted directly into the database, to test the database access layer. It can replace the database layer, and be provided directly to the business logic implementation.
It might be nice if the datasets at these different stages come from the same pool, so that their values represent the same underlying model. It would be nice if this model could be constructed once, and then the presentation of the data tailored for the stage at which its used.
Often a great deal of effort is spent reducing the worlds objects into a compact object model. Datamixer goes the other way: it takes a conceptual object model, and explodes it back into a diversity of objects. It tries to make this diversity easy to manage, through configuration and customization. It interacts with data repositories, and is able to mix and merge mock values with real ones. The aim is to make it easy to create the data, so that time can be spent on the data model.
Datamixer does not attempt to analyze a problem domain, in order to generate data that does a better job at testing the domain. It could be driven by a tool that does that kind of analysis.
Installation:
To install, simply unzip or unjar the distribution package to a directory of your choice. A distribution has these directories:
- The data directory has files with samples of commonly used data, such as names. It is intended to grow.
- The doc directory has documentation.
- The examples directory has example Java source and XML configuration scripts. Apache Ant is used to run these examples: type ant build
- The lib directory has all jars required by the application.
Enhancements:
- license changed to BSD.
<<lessIt may take a good amount of effort to create a mock dataset large and complex enough to mimic real world situations. For example, it is not unusual for an application to be supported by a database schema with hundreds of tables, each with many columns and many foreign key relationships. The database may have millions of rows of data. Datatypes include integer, floating precision, datetime, and string. There are a wide range of values, and they are dependent on each other in ways that must satisfy the business requirements.
Mock data is useful at various points in development. It can be used with an HTTP test client, to simulate the responses a user makes at the front end. It can be inserted directly into the database, to test the database access layer. It can replace the database layer, and be provided directly to the business logic implementation.
It might be nice if the datasets at these different stages come from the same pool, so that their values represent the same underlying model. It would be nice if this model could be constructed once, and then the presentation of the data tailored for the stage at which its used.
Often a great deal of effort is spent reducing the worlds objects into a compact object model. Datamixer goes the other way: it takes a conceptual object model, and explodes it back into a diversity of objects. It tries to make this diversity easy to manage, through configuration and customization. It interacts with data repositories, and is able to mix and merge mock values with real ones. The aim is to make it easy to create the data, so that time can be spent on the data model.
Datamixer does not attempt to analyze a problem domain, in order to generate data that does a better job at testing the domain. It could be driven by a tool that does that kind of analysis.
Installation:
To install, simply unzip or unjar the distribution package to a directory of your choice. A distribution has these directories:
- The data directory has files with samples of commonly used data, such as names. It is intended to grow.
- The doc directory has documentation.
- The examples directory has example Java source and XML configuration scripts. Apache Ant is used to run these examples: type ant build
- The lib directory has all jars required by the application.
Enhancements:
- license changed to BSD.
Download (2.6MB)
Added: 2006-04-21 License: BSD License Price:
1282 downloads
Google Data Objective-C Client 1.1.0
Google Data Objective-C Client provides a framework and source code that make it easy to access data through Google Data APIs. more>>
Google Data Objective-C Client provides a framework and source code that make it easy to access data through Google Data APIs.
The Google data APIs provide a simple protocol for reading and writing data on the web. Many Google services provide a Google data API.
Each of the following Google services provides a Google data API:
- Base
- Blogger
- Calendar
- Spreadsheets
- Picasa Web Albums
- Notebook
Additional services with Google data APIs that are not yet supported by the Objective-C Client Library:
- Code Search
- Google Apps Provisioning
<<lessThe Google data APIs provide a simple protocol for reading and writing data on the web. Many Google services provide a Google data API.
Each of the following Google services provides a Google data API:
- Base
- Blogger
- Calendar
- Spreadsheets
- Picasa Web Albums
- Notebook
Additional services with Google data APIs that are not yet supported by the Objective-C Client Library:
- Code Search
- Google Apps Provisioning
Download (0.60MB)
Added: 2007-08-08 License: The Apache License 2.0 Price:
810 downloads
Abyss Web Server X1 2.6
Abyss Web Server X1 is a free and compact Web server. It supports SSL, compression, CGI/FastCGI, ISAPI, XSSI, URL rewriting,bandwidth throttling, anti-leeching, anti-hacking, and features a remote web management interface. more>> <<less
Download (0.64MB)
Added: 2009-04-04 License: Freeware Price: $0
73043 downloads
GData Java Client 1.13.0
GData Java Client provides a library and source code that make it easy to access data through Google Data APIs. more>>
GData Java Client provides a library and source code that make it easy to access data through Google Data APIs.
The Google data APIs ("GData" for short) provide a simple standard protocol for reading and writing data on the web. GData combines common XML-based syndication formats (Atom and RSS) with a feed-publishing system based on the Atom publishing protocol, plus some extensions for handling queries.
Google also provides a set of client libraries for interacting with GData-enabled services, in a variety of programming languages. Using these libraries, you can construct GData requests, send them to a service, and receive responses.
<<lessThe Google data APIs ("GData" for short) provide a simple standard protocol for reading and writing data on the web. GData combines common XML-based syndication formats (Atom and RSS) with a feed-publishing system based on the Atom publishing protocol, plus some extensions for handling queries.
Google also provides a set of client libraries for interacting with GData-enabled services, in a variety of programming languages. Using these libraries, you can construct GData requests, send them to a service, and receive responses.
Download (9.6MB)
Added: 2007-08-08 License: The Apache License 2.0 Price:
809 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 web data extractor 4.3 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