publisher
Panda Publisher RC3
Panda Publisher provides a lightweight, standards-compliant content management system. more>>
Panda Publisher is a lightweight content management system. It aims to be fast, scalable, standards-compliant and meta-data rich in order to serve page viewers better and allow Web masters to concentrate on writing content rather than all the little things that make visiting Web sites easier for users.
Meta-data is created on the fly to ensure that it is up-to-date. Menus, Site Maps, Searches, etc. are all generated automatically to give consistent navigation to the end user.
Enhancements:
- Shiny new installer
- Standards Compliance improvements
- Fixed style sheet selector in admin
- New Offline-mode
- Code clean-ups
- Security Fixes
Smart Publisher 1.0.2
Smart Publisher is a web-based open source and easy-to-use application which offers you an effective way to publish a static or dynamic website on the internet more>> <<less
Podcast::Publisher 0.50
Podcast::Publisher is a Perl module for creating and managing podcasts. more>>
SYNOPSIS
use Podcast::Publisher;
my $podcast = Podcast::Publisher->new;
$podcast->set_logger( sub { my $msg = shift; print $msg; } );
$podcast->set_error_logger( sub { my $msg = shift; print STDERR $msg; } );
my $xml = "./podcast.xml";
$podcast->set_file( $xml );
$podcast->set_remote_root( "http://localhost.localdomain/podcast/publishing/" );
$podcast->set_db_connection( { driver => "mysql",
username => foo,
password => bar,
host => localhost,
database => podcast } );
# If we change podcast information, synchronize this information in the MP3 file itself
$podcast->set_synchronize( 1 );
$podcast->set_metadata( { title => "Chris Podcast",
description => "All About Chris",
"docs" => "http://localhost",
"editor" => "podcastmanager@localhost",
"webmaster" => "podcastmanager@localhost",
} );
# This adds an item to the database, and synchronizes the
# MP3 Tag information in the file with the database
$podcast->add_new_episode( { title => Some title,
author => Chris of course
category => Jazz
description => First in a series of many
mp3 => /home/foobar/mp3s/episode1.mp3 } );
$podcast->set_upload_settings( { host => localhost.localdomain,
username => someuser,
password => somepass,
path => podcast/publishing/,
remote_root => http://localhost.localdomain/podcast/publishing/ } );
$podcast->upload();
Pandora Publisher 0.4.4
Pandora is a simple web document and application platform written in Ruby. more>>
Main features:
Easy to install and maintain
- Just unpack the package archive and run under Windows, Mac OS X, or Linux. The only prerequisite is Ruby, which you can install following these instructions.
Simple, extensible, and powerful
- Pandora does not require any relational database, but it lets you build your own web applications that can use databases with Ruby and Pandora Box object-oriented application framework.
Textile and Silk Veil formatting for site contents
- There is no need to code web pages in HTML with Pandora. Instead, just use Textile and Silk Veil, which are almost as easy to learn as plain text formatting.
Portable web site contents
- Pandora site contents are stored in a simple format that can be exported, zipped, moved, and viewed anywhere with its built in web server.
User selectable page design and templates
- You can easily customize the appearance of your Pandora site by creating new skins with Ruby, HTML, and CSS.
Integrated user account management functions
- Pandora comes with a built-in user account management functions that perform automated email verification and support a manual or automated registration approval process.
Enhancements:
- A new way to delete existing pages and chapters, a recent changes page, a default sidebar for new books, a trail path attachment indicator, and iconified file links were added.
- A defect that caused an exception when a book is deleted was fixed.
- The documentation was edited.

@1 Calendar Publisher I 2.0
Publish events, schedules or news to an online web calendar. more>> Publish events, schedules or news to an online web calendar. Multiple events can be posted on the same day. The calendar can be called directly or via SSI. No MySQL required. View in full or compact mode. Show X number of upcoming events. Header, footer colors and so on are highly customizable. Newly added features: "Todays Events" and "Tomorrows Events".<<less
PubSubHubbub_Publisher 1.0
A simple, open, web-hook-based pubsub protocol & open source reference implementation more>>
PubSubHubbub_Publisher 1.0 is yet another excellent utility for everyone. It is actually a simple, open, server-to-server web-hook-based pubsub (publish/subscribe) protocol as a simple extension to Atom.
Parties (servers) speaking the PubSubHubbub protocol can get near-instant notifications (via webhook callbacks) when a topic (Atom URL) they're interested in is updated.
This tool works as follow:
- An Atom URL (a "topic") declares its Hub server(s) in its Atom XML file, via . The hub(s) can be run by the publisher of the Atom, or can be a community hub that anybody can use.
- A subscriber (a server that's interested in a topic), initially fetches the Atom URL as normal. If the Atom file declares its hubs, the subscriber can then avoid lame, repeated polling of the URL and can instead register with the feeds hub(s) and subscribe to updates.
- The subscriber subscribes to the Topic URL from the Topic URLs declared Hub(s).
- When the Publisher next updates the Topic URL, the publisher software pings the Hub(s) saying that there's an update.
- The hub efficiently fetches the published feed and multicasts the new/changed content out to all registered subscribers.
- The protocol is decentralized and free. No company is at the center of this controlling it. Anybody can run a hub, or anybody can ping (publish) or subscribe using open hubs.
- To bootstrap this, the publisher has provided an open source reference implementation of the hub (the hard part of the protocol) that runs on Google App Engine, and is open for anybody to use.
Requirements:
- Python
isbnsearch 0.5
isbnsearch project is an ISBN search tool with a permanent cache. more>>
isbnsearch provides a simple method for retrieving information about any book using only an ISBN or EAN barcode.
It is intended to provide assistance for online libraries, user groups, or individual users, and is designed in such a way to provide a distributed ISBN database query system.
Users can choose to view the summary information (author, title, publisher, date, edition, subject, ISBN) as HTML, XML, or a pre-formatted SQL statement.
Enhancements:
- config/newservers.sql, config/servers.sql: devel v0.5 release
- config/isbn.pl, config/isbnsync.pl, config/fallbackisbn.pl:
- devel/scripts/gateway.sh, devel/scripts/asyncz.sh,devel/asyncz.txt: tweaks
NuSphere PhpED 5.0.1
NuSphere PhpED IDE is a professional integrated development environment. more>>
NuSphere PhpED is intended mostly for building database-driven web-applications using php scripting language, although a lot of other popular languages such as HTML, XML, CSS, Perl, Javascript, Python are supported.
PhpED is a robust code editor, powerful php debugger, profiler and publisher – all-in-one. It also includes integrated database and CVS clients, SOAP services, HTML validator and Code Formatter tools, Terminal support and much more.
blogBuddies 0.3
blogBuddies provides an RSS and Atom aggregator that emulates the LiveJournal Friends page. more>>
blogBuddies gathers RSS and Atom feeds into a layout similar to the LiveJournal Friends page. It is optimized for blogs, and works with Blogger, LiveJournal, DeadJournal, GreatestJournal, Xanga, RSS, and Atom feeds.
About blogBuddies
I originally started writing blogBuddies in my spare time as a response to the lack of a LiveJournal-type friends system in Blogger. Over the course of a few months, blogBuddies grew from a paltry, one-user system to a full multi-user, themable system supporting both LiveJournal and Blogger.
Going from there, blogBuddies was expanded to offer service for GreatestJournal, DeadJournal, Xanga, and RSS/Atom feeds. In the next release (0.4), blogBuddies will support MySpace blogs. I still write blogBuddies in my spare time, and do not know what I want to do with it at this point. If anyone wishes to help, they are free to PM me.
Enhancements:
- Added RSS and Atom support (URLs)
- Code cleanup
- Changed the UserAgent so that publishers can see blogBuddies
- Added support for GreatestJournal, DeadJournal, and Xanga
- Cross-site scripting: A PATCH IS NOW AVAILALBE - patch zip contains only the changed files
IPC::PubSub 0.22
IPC::PubSub is Perl module for Interprocess Publish/Subscribe channels. more>>
SYNOPSIS
# A new message bus with the DBM::Deep backend
# (Other possible backends include Memcached and PlainHash)
my $bus = IPC::PubSub->new(DBM_Deep => /tmp/pubsub.db);
# A channel is any arbitrary string
my $channel = #perl6;
# Register a new publisher (you can publish to multiple channels)
my $pub = $bus->new_publisher("#perl6", "#moose");
# Publish a message (may be a complex object) to those channels
$pub->msg("This is a message");
# Register a new subscriber (you can subscribe to multiple channels)
my $sub = $bus->new_subscriber("#moose");
# Publish an object to channels
$pub->msg("This is another message");
# Set all subsequent messages from this publisher to expire in 30 seconds
$pub->expiry(30);
$pub->msg("This message will go away in 30 seconds");
# Simple get: Returns the messages sent since the previous get,
# but only for the first channel.
my @msgs = $sub->get;
# Simple get, with an explicit channel key (must be among the ones
# it initially subscribed to)
my @moose_msgs = $sub->get("#moose");
# Complex get: Returns a hash reference from channels to array
# references of [timestamp, message].
my $hash_ref = $sub->get_all;
# Changing the list of channels we subscribe to
$sub->subscribe(some-other-channel);
$sub->unsubscribe(some-other-channel);
# Changing the list of channels we publish to
$pub->publish(some-other-channel);
$pub->unpublish(some-other-channel);
# Listing and checking if we are in a channel
my @sub_channels = $sub->channels;
my @pub_channels = $pub->channels;
print "Sub is in #moose" if $sub->channels->{#moose};
print "Pub is in #moose" if $pub->channels->{#moose};
# Raw cache manipulation APIs (not advised; use ->modify instead)
$bus->lock(channel);
$bus->unlock(channel);
my @timed_msgs = $bus->fetch(key1, key2, key3);
$bus->store(key, value, time, 30);
# Atomic updating of cache content; $_ is stored back on the
# end of the callback.
my $rv = $bus->modify(key => sub { delete $_->{foo} });
# Shorthand for $bus->modify(key => sub { $_ = val });
$bus->modify(key => val);
# Shorthand for $bus->modify(key => sub { $_ });
$bus->modify(key);
This module provides a simple API for publishing messages to channels and for subscribing to them.
When a message is published on a channel, all subscribers currently in that channel will get it on their next get or get_all call.
Currently, it offers three backends: DBM_Deep for on-disk storage, Memcached for possibly multi-host storage, and PlainHash for single-process storage.
Please see the tests in t/ for this distribution, as well as "SYNOPSIS" above, for some usage examples; detailed documentation is not yet available.
Dijjer 120
Dijjer is a peer-to-peer HTTP cache. more>>
Dijjer project is designed to be simple, elegant, and to cleanly integrate with existing applications where possible. Dijjer uses "UDP hole punching" to allow it to operate from behind firewalls without any need for manual reconfiguration.
Dijjers distributed and scalable content distribution algorithm is inspired by Freenet.
Ubercart Alpha 7
Ubercart project is an e-commerce shopping cart integrated with the Drupal CMS. more>>
Main features:
- Configurable product catalog includes catalog pages and a block to display product categories.
- Flexible product creation system. Create normal products by default. Create product classes to store more information on a subset of your catalog. (Ex: Creating a book class would let you store and display separately the author, publisher, and length of the book.)
- Flexible product attributes system. Create user selectable attributes for your products that modify the price, SKU/model, and/or weight of items as the customer adds them to his or her cart.
- Single page checkout. All checkout information gathered on a single screen composed of configurable checkout panes. Third party modules can define checkout panes to replace or add to the default set, making it easy to customize the checkout experience.
- Automatic account generation (anonymous checkout). Accounts and emails are automatically generated based on the customers e-mail address. For return customers, previously used addresses will be listed on the checkout page for easy access.
- Simple order processing. The order administration screens have been designed by and for our salesmen. We believe there is always room for improvement and will try to make it happen! Order screens use the "pane" model, so the screens are configurable and extensible to accommodate a wide variety of e-commerce applications.
- Simple order creation and editing. Easy to create orders manually for customers, adding products, shipping prices, etc. from a single screen. Line items system makes it easy to add fees, discounts, and coupons to orders.
- Integrated payment system that acts as a bridge between acceptable payment methods (check, credit card, cod, etc.) and payment gateways (Cyber Source, Authorize.net, PayPal, etc.). Configurable payment processing and tracking, and easy to use credit card terminal with varying levels of access.
- Activity logging. Enable logging to see all the changes made to an order, including payment processing. (Your accountant will love this!)
Debarchiver 0.4.2
Debarchiver is a tool to sort debian packages in a automated way so that you can publish debian packages in a easy way. more>>
Main features:
- Sort debian packages in the "potato" way.
- Generates the Packages and Sources files.
- Prepared for web publishing.
The idea is to make a simpler version of the Debian katie software that is useable by system administrators and software publishers. Of course you should try to get your software in the Debian distribution but sometimes that is not possible or even good.
Debarchiver is licensed under GPL.
Enhancements:
- Allows for signed release files (currently only ones without a password).
Campsite 2.7.0 RC4
Campsite is a multilingual content management system (CMS) for news Web sites. more>>
Campsite is available in: English, Serbian (Cyrillic), and Serbo-Croatian (Latin), Arabic Portuguese, German, Russian, Czech, Romanian, Croatian, and Chinese.
Campsites user interface was built with the end user (journalist, editor, publisher) in mind, and it can be configured to suit different profiles of end users.
Campsite follows the print-newspaper publishing paradigm, so it structures sites by default as Publications > Issues > Sections > Articles.
Campsite project works best for medium-to-large-size online news publications, but it is capable of handling nimbler sites too.
Whats New in This Release:
Major Improvements (4 total)
----------------------------
01) #2326 - Attach Campcaster audio files to Campsite articles
02) #2327 - Upload audio files to the LS database from within Campsite
03) #2328 - Single sing-on
04) #2330 - Offline editing/Synchronizing Articles with Another Server
Small Improvements (6 total)
----------------------------
01) #2199 - Login screen should display the instance name
02) #2218 - Possibility to review attachments in admin interface
03) #2220 - Provide section description as property of section
04) #2224 - Possibility to copy/move/rename templates
05) #2281 - Show max upload file size in file attachment window
06) #2283 - Show additional info in the ATTACHMENT EDIT screen
07) #2436 - Mailout for article comments
08) #2385 - Arrow order direction icon needed in the audioclips list
for browse and search screens
Bugs Fixed (16 total)
---------------------
Bugs are listed in order of oldest to newest.
01) #2282 - Image attachments do not show in the browser
02) #2299 - Non-template files are not displayed properly
03) #2300 - "Move template" screen should not refresh when you
choose a directory
04) #2301 - Do not show current directory in "move template" screen
05) #2303 - Template screen "select all" and "select none" do not
work when non-template files are around
06) #2309 - Deleting a template folder does not record anything in Log
07) #2316 - Error adding attachment to an article
08) #2343 - Attachments: Put download icon next to file name
09) #2373 - ARTICLE LIST CSS broken
10) #2388 - Campcaster session is not closed when user logout
11) #2390 - Attach an audioclip to a specific translation of an article
does not work
12) #2394 - Ordering button works even when there is no audioclips
13) #2398 - Bad visualization on Comments index page
14) #2401 - The title is not retrieved properly when uploading an audioclip
15) #2402 - The album is not retrieved when uploading an audioclip
16) #2403 - Quote is replaced by when uploading and audioclip
17) #2416 - System preferences has nothing to do with User Configurations
18) #2417 - There are no LiveUser users for campsite users registered in
the frontend
19) #2419 - Misconfiguration in replication database name
20) #2457 - Create the phorum user matched the existent campsite user fails
21) #2459 - Ticket Inbox: I was trying to create a new section...
22) #2469 - Article field type topic to act like topic attachment
Pipe-Sem 1.0
This is a pipe based semaphore implementation for developing ASYNC applications. more>>
Pipe-Sem 1.0 is a good utility which might help you a lot in developing ASYNC applications. Many synchronization primitives are available for Unix systems, but any of them expose a pollable interface to the user. In these cases, if the caller execute a down operation on a blocking semaphore, the application will sleep and whole ASYNC loop will starve because of the wait.
To cope with this problem in ASYNC software, the publisher developed a pipe based semaphore implementation, called Pipe-Sem. The implementation is trivially simple and it uses the pipe internal mechanisms to expose a pollable wait interface.
Besides the standard semaphore operations, the function psem_down_fd() can be used to retrieve a files descriptor that can be dropped inside a Unix pollable API like select(2), poll(2) or epoll(2). The caller will have to wait for input events (POLLIN), and when receiving the event itself, the caller should invoke the psem_try_down() function to try to acquire the semaphore.
Please note that receiving an event from the pollable interface, does not mean that we acquired to semaphore, and the function psem_try_down() will have to be called (and tested for zero return code) to correctly complete the down operation.
<<less