vfs
Gnome2::VFS 1.061
Gnome2::VFS is a Perl interface to the 2.x series of the GNOME VFS library. more>>
SYNOPSIS
use Gnome2::VFS;
sub die_already {
my ($action) = @_;
die("An error occured while $action.n");
}
die_already("initializing GNOME VFS") unless (Gnome2::VFS -> init());
my $source = "http://www.perldoc.com/about.html";
my ($result, $handle, $info);
# Open a connection to Perldoc.
($result, $handle) = Gnome2::VFS -> open($source, "read");
die_already("opening connection to $source")
unless ($result eq "ok");
# Get the file information.
($result, $info) = $handle -> get_file_info("default");
die_already("retrieving information about $source")
unless ($result eq "ok");
# Read the content.
my $bytes = $info -> { size };
my $bytes_read = 0;
my $buffer = "";
do {
my ($tmp_buffer, $tmp_bytes_read);
($result, $tmp_bytes_read, $tmp_buffer) =
$handle -> read($bytes - $bytes_read);
$buffer .= $tmp_buffer;
$bytes_read += $tmp_bytes_read;
} while ($result eq "ok" and $bytes_read < $bytes);
die_already("reading $bytes bytes from $source")
unless ($result eq "ok" && $bytes_read == $bytes);
# Close the connection.
$result = $handle -> close();
die_already("closing connection to $source")
unless ($result eq "ok");
# Create and open the target.
my $target = "/tmp/" . $info -> { name };
my $uri = Gnome2::VFS::URI -> new($target);
($result, $handle) = $uri -> create("write", 1, 0644);
die_already("creating $target") unless ($result eq "ok");
# Write to it.
my $bytes_written;
($result, $bytes_written) = $handle -> write($buffer, $bytes);
die_already("writing $bytes bytes to $target")
unless ($result eq "ok" && $bytes_written == $bytes);
# Close the target.
$result = $handle -> close();
die_already("closing $target") unless ($result eq "ok");
Gnome2::VFS -> shutdown();
gvfsfind 0.1.4
gvfsfind searches for files in a directory hierarchy. more>>
For example, gvfsfind.py ftp://video.foo.org --type d --print prints all directories on the FTP server. gvfsfind.py ssh://skipper/srv/movie --type f -name ".*.vob" --exec "gnomevfs-copy %u ." copies all files ending with .vob from the host skippers directory /srv/movie, including its sub-directories.
Enhancements:
- A makefile has been added to simplify release.
- This release is packaged as a tar.gz archive.
- Support has been added for filenames including #.
- Support for use as a Python module has been added.
gnome-vfs-obexftp 0.4
gnome-vfs-obexftp contains extra packages for extentions to GnomeVFS. more>>
Note that if youre not using the standard dbus system bus address, you need to set the environment variable DBUS_SYSTEM_BUS_ADDRESS to the path to the system dbus address to use, e.g:
export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
for example in the login script.
If the variable is not set, the OBEX module will fallback to the standard name in $(localstatedir), e.g. /var/run/dbus/system_bus_socket.
gnome-vfsmm 2.18.0
gnome-vfsmm are C++ wrappers for gnome-vfs. more>>
Any help is welcomed. File bugs with patches (see http://www.gtkmm.org/bugs.shtml for patching procedure), and give suggestions.
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.
gnome-vfs 2.18.1 / 2.19.3
gnome-vfs is a Filesystem Abstraction library. more>>
A cause of confusion is the fact that the file system abstraction used by the Linux kernel is also called the virtual file system (VFS). This is however at a lower level.
Whats New in 2.19.3 Development Release:
- Export modules directory in pkg-config files
- Fix crash in gnome_vfs_xfer
- Add GNOME_VFS_DIRECTORY_VISIT_IGNORE_RECURSE_ERROR flag
- Dont resolve non-mdns hosts when resolving mDNS service names
- Workaround issue with mDNS and link-local ipv6 addresses
gnome-vfs-monikers 2.15.3
gnome-vfs-monikers is a Filesystem Abstraction library. more>>
Installation:
The simplest way to compile this package is:
1. `cd to the directory containing the packages source code and type `./configure to configure the package for your system. If youre using `csh on an old version of System V, you might need to type `sh ./configure instead to prevent `csh from trying to execute `configure itself.
Running `configure takes awhile. While running, it prints some messages telling which features it is checking for.
2. Type `make to compile the package.
3. Optionally, type `make check to run any self-tests that come with the package.
4. Type `make install to install the programs and any data files and documentation.
5. You can remove the program binaries and object files from the source code directory by typing `make clean. To also remove the files that `configure created (so you can compile the package for a different kind of computer), type `make distclean. There is also a `make maintainer-clean target, but that is intended mainly for the packages developers. If you use it, you may have to get all sorts of other programs in order to regenerate files that came with the distribution.

VFSJFileChooser 0.0.3
VFSJFileChooser functions as a Java Swing Component to enable you to browse both remote(FTP, SFTP, WEBDAV, etc.) and local filesystems. more>>
VFSJFileChooser 0.0.3 functions as a Java Swing Component to enable you to browse both remote(FTP, SFTP, WEBDAV, etc.) and local filesystems. It is based on Apache Commons VFS library. VFSJFileChooser is distributed under Apache License 2.0.
VFSJFileChooser was first started to be a plugin of XPontus XML Editor. Later, it was decided to create a library which wouldn't be tied to XPontus API.
VFSJFileChooser supports all the file systems available in Commons VFS. You can think of VFSJFileChooser as a javax.swing.JFileChooser with the ability to browse remote locations such as FTP, SFTP, etc. VFSJFileChooser has not been designed as a file transfer tool, however it can be easily implemented (2 VFSJFileChooser components and some buttons calling commons-vfs API methods, a queue for file operations, etc.).
Major Features:
- Seamless filesystem browsing
- Standard java file browsing with abstraction to the filesystem. You browse seamlessly local and remote file systems the same way.
- VFSJFileChooser supports many protocols such as Webdav, SFTP, FTP, SMB, etc. Please have a look at Apache Commons VFS supported protocols. Starting from 0.0.3 release, VFSJFileChooser is using webdavclient4j for Webdav support.
- Easy i18n support
- There are translations for English, French, Spanish, Italian, Swedish per default. You can add a new language to VFSJFileChooser by dropping a new resource bundle in your classpath.
- A default accessory panel
- A toolbar provides access to a bookmarks manager and a connection wizard.
- No inheritance of some JFileChooser known bugs
- VFSJFileChooser doesn't suffer from the infamous JFileChooser freezing bug. Time to time, JFileChooser can hang for 10 seconds(even on a quad core!). The bug seems to be coming back all the time, but only on Windows.
- Flexibility
- Access to the navigation panel and the navigation buttons(new folder, etc.)
- Simple and familiar API
- VFSJFileChooser is based on the standard javax.swing.JFileChooser code. The main difference is that VFSJFileChooser uses Commons VFS FileObject instead of java.io.File.
Enhancements:
- Lots of speed : The latest version of VFSJFileChooser is too slow. The code execution have been improved at many places.
- The navigation icons are now visible all the time. No exceptions or strange issues related to the look and feel. The component use a "MetalLookAndFeel" layout but when using the system look and feel, the controls look native.
- The VFSUtils class supports the methods setFileSystemManager and setFileSystemOptions. You can set those values at anytime. When the VFSJFileChooser class is instanciated, it checks if VFSUtils has a filesystemmanager set, if not it creates one. Files are always resolved with the FileSystemOptions object in VFSUtils. Some convenience methods such as getInputStream and getOutputStream have been added in VFSUtils.
- Upgraded to commons-vfs 2.0 snapshot with patches applied for URL redirection and WebDav.
- Switched from Jakarta Slide to webdavclient4j (http://webdavclient4j.sf.net) as Jakarta Slide project is dead.
- Cleaner but incompatible API(Enums instead of int fields) : Enums are introduced for few classes which breaks the API. The method setFileselectionMode of VFSJFileChooser now accepts an Enum as parameter. The methods "showOpenDialog" and "showSaveDialog" return an Enum too.
- Sorting support : The details table has now sorting support again in the jdk5 branch. The jdk5 branch is the most up to date(patches, general improvements, etc.). The jdk5 will become the default branch to ensure code compatibility.
- The bookmarks dialog scrolling issues have been fixed. The bookmarks are still not serialized using Java Serialization. They are now stored in XML do avoid deserialization issues when the bookmarks API change.
FreeBSD 6.2
FreeBSD is an advanced operating system for Intel ia32 compatible, DEC Alpha, and PC-98 architectures. more>>
It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.
FreeBSD offers advanced networking, performance, security and compatibility features today which are still missing in other operating systems, even some of the best commercial ones.
FreeBSD makes an ideal Internet or Intranet server. It provides robust network services under the heaviest loads and uses memory efficiently to maintain good response times for thousands of simultaneous user processes.
The quality of FreeBSD combined with todays low-cost, high-speed PC hardware makes FreeBSD a very economical alternative to commercial UNIX workstations. It is well-suited for a great number of both desktop and server applications.
FreeBSD can be installed from a variety of media including CD-ROM, DVD-ROM, floppy disk, magnetic tape, an MS-DOS partition, or if you have a network connection, you can install it directly over anonymous FTP or NFS.
While you might expect an operating system with these features to sell for a high price, FreeBSD is available free of charge and comes with full source code.
It is easy to contribute to FreeBSD. All you need to do is find a part of FreeBSD which you think could be improved and make those changes (carefully and cleanly) and submit that back to the Project by means of send-pr or a committer, if you know one. This could be anything from documentation to artwork to source code.
Even if you are not a programmer, there are other ways to contribute to FreeBSD. The FreeBSD Foundation is a non-profit organization for which direct contributions are fully tax deductible.
Main features:
- A merged virtual memory and filesystem buffer cache continuously tunes the amount of memory used for programs and the disk cache. As a result, programs receive both excellent memory management and high performance disk access, and the system administrator is freed from the task of tuning cache sizes.
- Compatibility modules enable programs for other operating systems to run on FreeBSD, including programs for Linux, SCO UNIX, and System V Release 4.
- Soft Updates allows improved filesystem performance without sacrificing safety and reliability. It analyzes meta-data filesystem operations to avoid having to perform all of those operations synchronously. Instead, it maintains internal state about pending meta-data operations and uses this information to cache meta-data, rewrite meta-data operations to combine subsequent operations on the same files, and reorder meta-data operations so that they may be processed more efficiently. Features such as background filesystem checking and file system snapshots are built on the consistency and performance foundations of soft updates.
- File system snapshots, permitting administrators to take atomic file system snapshots for backup purposes using the free space in the file system, as well as facilitating background fsck, which allows the system to reach multiuser mode without waiting on file system cleanup operations following power outages.
- Support for IP Security (IPsec) allows improved security in networks, and support for the next-generation Internet Protocol, IPv6. The FreeBSD IPSEC implementation includes support for a broad range of accelerated crypto hardware.
- Out of the box support for IPv6 via the KAME IPv6 stack allows FreeBSD to be seamlessly integrated into next generation networking environments. FreeBSD even ships with many applications extended to support IPv6!
- Multi-threaded SMP architecture capable of executing the kernel in parallel on multiple processors, and with kernel preemption, allowing high priority kernel tasks to preempt other kernel activity, reducing latency. This includes a multi-threaded network stack and a multi-threaded virtual memory subsystem. With FreeBSD 6.x, support for a fully parallel VFS allows the UFS file system to run on multiple processors simultaneously, permitting load sharing of CPU-intensive I/O optimization.
- M:N application threading via pthreads permitting threads to execute on multiple CPUs in a scaleable manner, mapping many user threads onto a small number of Kernel Schedulable Entities. By adopting the Scheduler Activation model, the threading approach can be adapted to the specific requirements of a broad range of applications.
- Netgraph pluggable network stack allows developers to dynamically and easily extend the network stack through clean layered network abstractions. Netgraph nodes can implement a broad range of new network services, including encapsulation, tunneling, encryption, and performance adaptation. As a result, rapid prototyping and production deployment of enhanced network services can be performed far more easily and with fewer bugs.
- TrustedBSD MAC Framework extensible kernel security, which allows developers to customize the operating system security model for specific environments, from creating hardening policies to deploying mandatory labeled confidentiality of integrity policies. Sample seucrity policies include Multi-Level Security (MLS), and Biba Integrity Protection. Third party modules include SEBSD, a FLASK-based implementation of Type Enforcement.
- GEOM pluggable storage layer, which permits new storage services to be quickly developed and cleanly integrated into the FreeBSD storage subsystem. GEOM provides a consistent and coherrent model for discovering and layering storage services, making it possible to layer services such as RAID and volume management easily.
- FreeBSDs GEOM-Based Disk Encryption (GBDE), provides strong cryptographic protection using the GEOM Framework, and can protect file systems, swap devices, and other use of storage media.
- Kernel Queues allow programs to respond more efficiently to a variety of asynchronous events including file and socket IO, improving application and system performance.
- Accept Filters allow connection-intensive applications, such as web servers, to cleanly push part of their functionality into the operating system kernel, improving performance.
Bluefish 1.1.3
Bluefish is a GTK-based Web development editor. more>>
It features a multiple file editor, multiple toolbars, custom menus, image and thumbnail dialogs, open from the Web, CSS dialogs, PHP, HTML, Java, C, and XML support, external program integration (tidy, weblint, make, javac), and lots of wizards.
Main features:
- A What You See Is What You Need interface
- Multiple document interface, easily opens 500+ documents (tested 3500 documents simultaneously)
- Project support, enables you to work efficiently on multiple projects
- Support for remote files using gnome-vfs (depending on your gnome-vfs setup, youll have FTP, SFTP, HTTP, HTTPS, WebDAV, Samba and more)
- Customizable syntax highlighting based on Perl Compatible regular expressions, with subpattern support and default patterns for
- HTML
- PHP
- C
- Java
- JavaScript
- Java server pages (JSP)
- SQL
- XML
- Python
- Perl
- Cascading stylesheets (CSS)
- ColdFusion
- Pascal
- R
- Octave/Matlab
- Anti aliased text window
- Multiple encodings support, can convert between different character sets, supports multibyte characters, unicode, UTF8 etc.
- Line numbers along the document, bookmarks in documents and an excellent search function
- Nice wizards for startup, tables, frames, and others
- Dialogs for many HTML tags, with all their attributes
- HTML toolbar and tearable menus
- Compliance with the Gnome and KDE user interface guidelines where possible
- User-customizable toolbar for quick access to often used functions
- Open files based on filename patterns and/or content
- Fully featured image insert dialog
- Thumbnail creation and automatically linking of the thumbnail with the original image
- Multi thumbnail generation for easy creation of photo albums or screenshot pages
- A custom menu, specify your own tags or sets of code, and define your own dialogs
- Very powerful search and replace, allowing POSIX and Perl Compatible regular expressions and sub-pattern replacing
- Custom search and replace pattern support for the Custom menu
- Excellent unlimited undo/redo functionality
- Function reference browser, including reference files for PHP, CSS, Python and obviously HTML
- Configurable recent documents and recent directories functionality
- Complete translations in Brasilian Portuguese, Bulgarian, Chinese, Danish, Finnish, French, German, Hungarian, Italian, Norwegian, Polish, Portuguese, Russian, Spanish, Swedish and Tamil. Some other languages are partially supported.
- User customizable integration of many programs, including weblint, tidy, make, javac etc. etc.
- Auto tag closing for HTML and XML documents
- Escape functions for HTML and XML documents
MapFS 1.0-0.1035
MapFS implements a Linux filesystem which utilizes copy-on-write functionality. more>>
It is written in C, uses the standard Linux kernel VFS and loadable module interfaces for defining new filesystem types to the kernel, and supports (at least) kernel versions 2.4.7 to 2.6.13.
This functionality significantly eases data sharing between multiple machines connected to a shared storage medium (SAN/NAS/Mainframe DASD) as data can be optimistically shared between all of the machines in a way which is completely transparent to the applications running on them.
MapFS will execute a copy-on-write to obtain a private copy in the event that one of the Machines attempts to modify a copy that is on the shared medium.
ferrisfuse 0.1.0
ferrisfuse is a FUSE module for mounting libferris filesystems through the Linux kernel. more>>
About libferris
In non technical terms libferris makes the file system and other hierarchical storage systems easier to use. For the geeks out there, libferris is a virtual file system (VFS) that runs in the user address space. The FAQ contains entries related to installation, configuration and the usage of libferris.
As of July 2005 libferris can mount many interesting things ranging from a filesystem from your local Linux kernel through to LDAP, Evolution, PostgreSQL, dbXML, and RDF. To get an impression of the current capabilities of libferris mounting see the plugins/context directory of the lastest release. New things to mount are always being added.
Other than mounting things as a filesystem, the other core concept of libferris is extraction of interesting metadata from your libferris filesystems. This means that simple things like width and height of an image file become first class metadata citizens along with a files size and modification time. The limits on what metadata is available extend far beyond image metadata to include XMP, EXIF, music ID tags, geospatial tags, rpm metadata, SELinux integration, partially ordered emblem categories and arbitrary personal RDF stores of metadata.
Though some consider the last point of purely academic interest the end result is that you can add metadata to *all* libferris objects even those you only have read access too, for example, you can attach emblems to this website just as you would a normal file. The metadata interface gives all metadata from file size to digital signature status information equal standing. As such you can sort a directory by any metadata just as easily as you would ls -Sh to sort by file size. Sorting on multiple metadata values is also supported in libferris, you can easily sort your files by mimetype, then image width, then modification time with all three pieces of metadata contributing to the final directory ordering.
Late in 2004 extensive support for both fulltext and metadata indexing was added to libferris. This means you can supply queries against the contents or metadata of any libferris accessable object and have the results returned as a virtual filesystem. With the above mentioned metadata available for searching, finding your files can be done in many different ways instead of being forced to generate fixed directory trees using part of a file collections semantics as directory names. The metadata and virtual filesystem play together here allowing you to geospatially tag both your digital pictures, trip plans, and relevent websites and recall these objects in a single virtual directory no matter what their path or URL may be.
There is also a Samba VFS module which allows you to expose a libferris filesystem as a Samba share. Kfsmd uses the inotify kernel interface to allow libferris to watch changes made to your kernel filesystem by non libferris applications and update its indexes appropriately. Ferriscreate provides a command line and GTK+2 application for creating "new files" with libferris. With this you can create a new db4 database, dbXML database or fulltext index just as easily as you can make a regular file.
The ego filemanager is a GTK+2 interface built on top of libferris. It provides GTK treeview , gevas/edje and gecko based interfaces and makes extensive use of libferris clients to provide its functionality.
If you have a project you wish to use libferris with and want extensions made dont hesitate to contact one of the developers to arrange consulting.
For the geeks out there, libferris is a virtual file system (VFS) that runs in the user address space. At the moment libferris is a shared object that each application can dynamically link to in order to see the file system through a nicer abstraction.
New additions to the XML module allow for data to be converted from one format to another by the VFS for you. To copy data to an XML file:
fcreate --create-type=xml --rdn=2.xml root-element=fred /tmp
gfcp -av Makefile.am --dst-is-dir /tmp/2.xml/fred
To copy data to a db4 file
fcreate --create-type=db4 --rdn=2.db /tmp
gfcp -av Makefile.am --dst-is-dir /tmp/2.db
Ferris presents a C++ interface that makes heavy use of the STL and IOStreams. Currently ferris has two main internal abstractions: Context and Attribute. A context is much like a traditional file or directory in a file system, the major differences being that a context can have both byte content (like a file) and subcontexts (like a directory). An attribute is a chunk of metadata about a context. Contexts can have many attributes.
Some attributes may be large, for example a base 64 encoded version of the contexts content (133% context size). On the other hand an attribute can be small, for example the file size is exposed as an attribute.
Access to all contexts and attributes is performed by first requesting either an IStream or IOStream for that context or attribute. In this way the same context/attribute can be open many times at the same time, just like normal kernel based IO.
Ferris uses Loki from "Modern C++ Design" by Alexandrescu. Most objects use automatic garbage collection based on the SmartPtr template class from Loki. Where possible objects in ferris use a FerrisRefCounted policy to provide COM like intrusive reference counting. This style is used for Context, Attribute and special wrappers of IOStreams that are provided. IOStreams are wrapped to provide a more flexible API than could be offered using references to IOStreams.
There are also new stream classes provided, for example NullStream and LimitingStream. Templates are provided to make SmartPtrs to standard IOStreams act just like the underlying stream would, for example, one can have SmartPtr ss; ss >> stringObj; and does not have to dereference the SmartPtr to use standard IOStreams extractors or inserters.
Ferris uses GModule from glib2 to dynamically load both context and attribute classes at run-time. This way resources are conserved until they are needed. The native file system context is statically linked to ferris at present. When loading either contexts or attribute classes ferris uses a double dispatch factory method. Put simply this means that for each plugin there are two libraries, one that tells ferris if the main one really needs to be loaded or not. Using this scheme ferris can load all the meta factory classes at any time and use these very small meta factories to check if the main factory can create objects that are going to be useful.
This scheme is of great use for attribute classes. Attribute classes take a context and can "generate" attributes from the context. An example of this sort of class would be a MD5 or Base64 attribute. Both can be generated from the base context. More interesting attributes are PCM audio and RGBA-32bpp image data. By using the double dispatch factory ferris can handle a great deal of attribute generators and load them on demand.
Ferris currently can decode mp3, read id3 tags, decode many image formats and break some animation formats into frames. This makes ferris a solid starting point for multimedia applications.
Ferris will automatically mount sub file systems for you. Examples of a sub file system include a Berkeley database or XML file. For example it is possible to read a context such as /tmp/myxml.xml/mynode. Using this automatic mounting the differences between storage formats effectively disappear. To a ferris enabled application loading data from a native disk file, a Berkeley database, and XML file, or mbox file appear to be the same. This allows the user of the application to choose the correct storage for the data at hand.
It is planned to move to a microkernel architecture in Version 2.1 of ferris. I choose 2.1 so that ferris does not fall into version 2 syndrome.
Enhancements:
- Many changes were made to better support rsync(1).
- Extended Attribute support was greatly improved.
- write() now also updates mtime.
ferris-fnews 0.1.1
ferris-fnews provides a RSS news feed aggregator and archiver. more>>
ferris-fnews is an RSS news feed aggregator and archiver. It can poll RSS news feeds and make them available as a filesystem.
In non technical terms libferris makes the file system and other hierarchical storage systems easier to use. For the geeks out there, libferris is a virtual file system (VFS) that runs in the user address space. The FAQ contains entries related to installation, configuration and the usage of libferris.
As of July 2005 libferris can mount many interesting things ranging from a filesystem from your local Linux kernel through to LDAP, Evolution, PostgreSQL, dbXML, and RDF. To get an impression of the current capabilities of libferris mounting see the plugins/context directory of the lastest release. New things to mount are always being added :)
Other than mounting things as a filesystem, the other core concept of libferris is extraction of interesting metadata from your libferris filesystems. This means that simple things like width and height of an image file become first class metadata citizens along with a files size and modification time. The limits on what metadata is available extend far beyond image metadata to include XMP, EXIF, music ID tags, geospatial tags, rpm metadata, SELinux integration, partially ordered emblem categories and arbitrary personal RDF stores of metadata. Though some consider the last point of purely academic interest the end result is that you can add metadata to *all* libferris objects even those you only have read access too, for example, you can attach emblems to this website just as you would a normal file. The metadata interface gives all metadata from file size to digital signature status information equal standing. As such you can sort a directory by any metadata just as easily as you would ls -Sh to sort by file size. Sorting on multiple metadata values is also supported in libferris, you can easily sort your files by mimetype, then image width, then modification time with all three pieces of metadata contributing to the final directory ordering.
Enhancements:
- uses async IO by default for fetching feeds.
- Added support for conditional fetching based on HTTP If-Modified-Since
FerrisSambaModule 0.1.0
FerrisSambaModule is a VFS module for Samba 3.x. more>>
Thus, anything libferris can access can be shared as a filesystem via Samba, including LDAP, PostgreSQL, XML files, sleepycat dbXML database, evolution mail client, and queries against libferris various indexes.
Enhancements:
- STLport use was made optional.
- Some fixes were made for mounting eaquery:// as a Samba share.
Nariva 0.1
Nariva project is a search service using Apache Lucene, VFS, and XML-RPC. more>>
Nariva is an application which aims to provide cross- platform, open API search functionality targeted at desktops. It uses Apache Lucene to perform the indexing and searching functionality and also exposes the Apache Lucene API as an XML-RPC service (provided using Apache XML- RPC).
Files on the local file system are monitored using a sandbox component called Commons Virtual Filesystem (VFS). Nariva ties all these projects together to provide a simple, fast, cross platform, desktop search solution.
Main features:
- Runs cross platform - Written in Java.
- Provides a webservice interface using XML-RPC so its easy to create custom GUI client.
- Low priority search service thread reduces noticable CPU usage.
- Can monitor more than one folder at a time.
- Extendable by using custom index classes set in preferences.
- Provides a default text extraction class for indexing unrecognized file types.
- Built in support for indexing and searching text, html, pdf and maf files.
- MAF Search GUI integrates into Firefox search engine list.
- By default only accepts connections from localhost (127.0.0.1).
- Search on specific fields or use full text search with boolean, fuzzy and proximity matches - Provided by Lucene.
- Re-indexes changed documents in monitored folders dynamically.
deimos 1.3
deimos project consists of some platform independent libraries. more>>
The deimos project provides some platform independent libraries which contain a reference memory allocator (garbage collector planned), virtual filesystem (Unix sockets, HTTP, etc), configfile management, and a clean build system (easy makefiles).
These libs are used by DDS (Digital Disco System - mp3 player), vmOberon (oberon virtual machine), and ODMS (open document management system).
deimos has some simpl programming principles:
- dont make the packages not too big. one package for each job.
- simplicity. clear interfaces. each package has an front- and an back-interface. better think twice before starting to program anything.
- high abstraction. i.e the core libs are the one and only stuff which has to care about system specifics.
currently these packages are available:
- core:
current implementations: linux + glibc (may work on other unices too, but not tested)
provides:
* simple and clear build system (have a look the makefiles)
* Memory Manager (reference counting, type checking, ...)
* Virtual Filesystem (currently supports: local unix, http)
* ConfigFile (manages config files, goes over the VFS)
- template
an very simple template for writing applications with the deimos make system.
- examples
some applications demonstrating how to use the deimos (mostly core).
- oberon
the oberon subsystem. provides an virtual machine an kernel modules