Products
Title | Type | Size | Last Modified | Description |
---|---|---|---|---|
![]() |
File | 14 K | 2001-09-17 | |
![]() |
Software Package | 2003-06-13 | ||
![]() |
Software Package | 2003-06-13 | ||
![]() |
Software Package | 2002-10-21 |
CMFDeploymentIntroductionThis tool allows for static deployment of a CMF site to multiple target systems akin to the deployment features of advanced commerical CMS systems like interwoven or vignette. Features
Todo Before 1.0
InstallationDeveloped and Tested on Linux (2.4), Solaris 9, with Python 2.1.3, Zope 2.5.1 and CMF1.3
Optionally, you can install iuveno's OrderedFolder product to allow for explict ordering of filters, python scripts, and mime mappings. One warning, if your using OrderedFolder in conjunction with exUserFolder, you need to patch OrderedFolder to disable the dummy zbabel tags. Debian users will need to install the pyxml package. ConfigurationThe use of this tool requires configuration of several sections, outlined below. further documentation can be found in the docs directory. IdentificationIdentifies Content that should be deployed. The Portal Catalog is used as a content source, TALES Filters and Python Script Filters can be used to filter the available content set, and restrict what content objects will be deployed. OrganizationOrganizes the content in a target directory structure. The default structure and organization implementation, utilizes the existing cmf structure, although it does allow for mounting from a non portal root folder. MasteringThe process of rendering/cooking the content.
URIS Link NormalizationDuring the mastering process the rendered view of content has extensions attached, and intra object references in rendered content need to be updated, as well as target url host information. Directory View (skin) Merging Skins .. Directory Viewscertain resources of directory views often need to be deployed alongside content. DeploymentThe actual deployment of content to the target server. Targets Protocols LibrariesThis Product is distributed with the following third party modules which are included here under their original license terms, and are distributed here for convience (all such files can be found under CMFDeployment/lib)
License and Copyright
CreditsKapil Thangavelu - Author I'd like to thank alan runyaga for much dicussion and feedback on this tool. It has benefited greatly from his insights and wisdom. I'd like to thank my employer for allowing me to opensource this tool that was developed at their cost. Without companies and clients such as them the open source world would be a much poorer place. |
|
![]() |
Software Package | 2003-06-13 | ||
![]() |
Software Package | 2003-06-13 | IntroductionA CMF/Plone browser for local subversion repositories. features basic directory and file browsing of any revision, and line by line file annotation for text files. Picturesworth a thousand words :-) |
|
![]() |
Software Package | 2003-06-09 | Adds A Publish/Subscribe event channel to ZopeFeatures
|
|
![]() |
Software Package | 2001-10-02 | ExtIndex and ExtSearch Two products to facilitate searching the file system from Zope. ExtSearchWhat does it doOffers access file system searches via a swish search daemon. results returned are wrapped in brainz and offer access to search ranking, size,path and document title. ExtIndexWhat does it do?Integrates with ZCatalog (as a Pluggable Index) and allows you to search file system content that an object might proxy for in conjunction with other ZCatalog maintained indexes on an object. Currently fs search is implemented through swish++. |
|
![]() |
Software Package | 2003-03-06 | FileSystemSiteThis is a repackaging of the CMF's FileSystem Directory Views such that it is independent of the CMF. The major use of this is to develop view code on the file system such that it can be edited with normal development utilties and checked into a source control management system. The only additions are some minor modifications to the FSZSQLMethods for argument handling, some EditorUtils for setting syntax highlighting, the addition of FSExternalMethods, and some templates for common fs types. an example of how to use this can be found in the ExampleSite subdirectory. That directory should be moved into the Products directory and it will register its subdirectory as an FSDirectoryView which will make it accessible for addition from the ZMI screens. Version: 1.1 Changes - update to CMF1.3 code - removed .ps extension from editor utils emacs binding - added fix for broken FSZSQL arg handling - added FSExternal Method - removed ZMI customization capability as this caused long time outs for sites with deep structures. Packager kapil thangavelu ([email protected]) Author Zope Corp LICENSE ZPL 2.0 |
|
![]() |
Software Package | 2001-10-24 | Free TransactionsThis is an attempt to associate zodb transactions on a per connection basis. the major benefits is by disassociating the transaction to thread association we can have multiple connections in a single thread and hence multiple dbs open while maintaining per connection transaction integrity. functional changes to application codeApplication code can continue to use get_transaction().register(ob) as long as ob is a persistent object or a zodb connection. Application code that tries to integrate non-persistent objects for transactional control needs to call get_transaction() with a persistent object or connection as an arg so that it can be registered with an appropiate connection. Transitioning between transaction states cannot be done via get_transaction(), a persistent object or connection must be passed in so the proper transaction is returned. what doesn't work
basically use of the full range of ZODB features (ie Zope) will not work. otoh, most basic and common usages as a POS will probably work. other caveatsmulti-threaded code shouldn't have share connections, its probably better for such code to use and return conns to the db as needed. installationimport this module and call the install_free_txn function, which will hotpatch the connection and transaction classes and install the get_transaction accessor in globals.
testsi did some basic tests. if it breaks you get to keep both pieces licenseZope Public License (ZPL) ZPL 1.0 or a later version of the ZPL at your discretion. author: kapil thangavelu |
|
![]() |
Software Package | 2002-05-11 | A Python Repository in Zope.For more info please see the Gideon wiki Lots of architectural goodies for python product developers. |
|
![]() |
Software Package | 2000-09-02 | What is it: A search interface to mailman archives. The python product is basically a retrieval script for mailman archives. (www.list.org) It splits them into individual emails and presents a glorified grep wrapper to Zope for searching them. Its disk intensive and resource intensive depending on the size of the archive. although its mainly proof of concept, it is functional. Top of the TODO list are some speed optimizations. This is pre-alpha. I wouldn't recommend playing with it unless you're interested in developing it. |
|
![]() |
Software Package | 2000-11-14 | NewsCenter is currently broken with the latest pyxml because of the switch to FourThought's 4DOM. I'm working on a complete rewrite at the moment which will switch all the dom interfaces over to sax2 (bringing massive speed improvements). I expect that the rewrite will be done by early December. NewsCenter is a Zope/XML application that aims to be a resouce for Zope sites to allow their users access to the latest headlines from around the world on many different topics. It would like to bring order to this mass of information by making it searchable and displayed in a format that is easy to navigate and also allow users to have email syndication of channels that they are interested in (email syndication support through hooks). NewsCenter's news acquisition is based on the import of aggregate channel listings in a variety of xml formats. NewsCenter was designed for site managers to individually publish channels contained within a channel list. Furthermore because of performance considerations when importing a large number of channels or a large channel list it has options for the xml files to be loaded from the file system as opposed to the default implementation which obtains them directly from the web. |
|
![]() |
Software Package | 2002-02-23 | Page-Contract is a python product that allows for easy form/input validation from python scripts, dtml, and python products. it adds a new type of dtml-tag to your zope installation. dtml-contract is a multi-purpose tag that is designed to provide documentation, marshalling and filtering of request data, and custom error handling of the request data. the documentation comes from a read only section of the contract which should describe the purpose of the object, its author, and some information about its parameters. the marshalling and filtering is done by naming variables expected in the request and associating one or more filters with those variables. PageContract comes with a set of prebuilt filters although it can easily be extended by writing new filters. lastly it allows association of different error handlers to different variables. an example of using it from a python script lives at http://www.zopelabs.com/cookbook/1008972251 |
|
![]() |
Software Package | 2003-05-25 | PurposeProxy Index, is a plugin catalog index. it uses a tales expression to retrieve a value to index from an object. the value retrieved can then be indexed by any available plugin index. Primary Use Case for indexing attributes of subobjects when indexing a container, like a composite elements of a compound document, or object annotations. Author kapil thangavelu |
|
![]() |
Software Package | 2002-08-02 | RDBToolsProvides for pythonscript accessible functions to perform set operations on zsql method results. Operations provided
The algorithms are based off Aaron Watters kjbuckets package and his early 1995 news posting to comp.lang.python. Example Use CaseYou have correlatable data in multiple dbs. Lets say employee contact info is in postgres, and payment info is in oracle. You want to aggregate this info into a single result set for a report display. a contrived example but a useful illustration. contact table: create table corp_employee_contacts ( employee_id integer unique not null, email varchar(255), first_name varchar(30), last_name varchar(30), middle_name varchar(30) ); payment table: create table corp_employee_accounts ( employee_id integer unique not null, payment_period integer not null, payment_amount numeric default 0 not null ) zsql method: getEmployeeContacts: select * from corp_employee_contacts zsql method: getEmployeeAccounts: select employee_id, sum(payment_amount) as total_pay from corp_employee_accounts group by employee_id python script getEmployeeTotalPay: from Product.RDBTools import join_results contacts = context.getEmployeeContacts() accounts = context.getEmployeeAccounts() return join_results(accounts, contacts) the resultant result set contains properly merged information from both results Advanced Usage NoteAcquisition ContextsZSQL Results sets are bound to a context, the set operations exposed here preserve the context of the first result set argument. Brainsbrains are not preserved. Speedadditional speed can be had by using installing the kjbuckets extension module, if its not installed the python implementation found in zope will be used. Cross Productsif no common columns are found a cross product is returned. AuthorLicenseX11, see LICENSE.txt for more details |
|
![]() |
Software Package | 2002-03-29 | RatingsSimple and efficient object rating system there is now a user guide installif you want the cmf tool variantadd an external method standard cmf style requirementsscalableallow numeric ratings, once per authenticated user. should support future data mining ie.
implementationthe ratings objects are stored local to the content with an IIBTree mapping hash(user_name) to their vote. the rating tool is a cmf style tool that allows for a consistent api to to access a contents ratings, AND maintains a list of the highest rated objects. the list utilizes a pluggable ranking algorithm to allow for tuning of the highest rated list. this list is maintained as an OOSet. a catalog implementation was not used because it would not be as scalable, imo. Author: Kapil Thangavelu |
|
![]() |
Software Package | 2001-10-02 | SQLEngineSQLEngine provides a method for loading SQLMethods from the filesystem Methods are associated with a symbolic name by which they are invoked. The goal of SQLEngine was to provide support for , work integrating Zope with the OpenACS, as such the default format supported by SQLEngine for filesystem SQL is OpenACS's query file xml syntax. A second distinct goal of SQLEngine was to provide an abstraction to allow further work on changes to Zope's relational integration. Why do i want to use itIf you want to keep your sql methods on the fs, either for source control or because they're generated from an external source. DefinitionsSourcessources are locations where one or more resources files maybe found. Generally sources are either directories or jar files jars unimplemented. ResourcesResources constitute files which contain sql statements. Resources may delimit sql statements in a variety of fashions, how a particular resource is handled is dependent on the config file within the SQLEngine product. The default handling is for xml resource files QueriesQueries represent SQLMethods gathered from Resources. they have an associated name that is used for calling them. ArchitectureSQLEngine is divided under the hood into four parts. The SQLEngine itself a Zope object that provides managment interfaces for adding and removing sources/resources/queries and one interface for calling a query which takes a symbolic name for the query and args executes it and returns the results. The other components are the Finder which searches the file system for files with given file extensions. The Loader extracts the raw query information from these files. The Builder takes this raw information and turns it into a QueryObject that gets stored with associated name in the SQLEngine. The parts were designed to be interchangable, replacements for any of these components can be specified in the EngineConfig File. Usage Add a SQLEngine specifying a connection. Add a source, for
the sake of example you can point it to the data directory of
the SQLEngine distribution which contains some sample xml query
files from the OpenACS. Load the source. The engine is now populated.
It can be called via EngineName.execute( Managementfunctionality is provided for reloading methods from the filesystem. FuturesThis is currently prealpha ware in the sense that it only serves my purpose of usage with openacs's xml syntax and does not provide alot of additonal capabilities beyond that. in either management or usage. Author Kapil Thangavelu |
|
![]() |
Software Package | 2002-05-09 | ||
![]() |
Software Package | 2002-10-23 | TaskEngineDescriptiona oo framework for composition and execution of tasks. designed for composing graphs, trees, or sets of functions, with multiple execution modes (pipeline, return registries, custom) and definition specified in various text formats. its main design and product use was for installers and system maintainance. an example of which is the zope_builder. this is a premature release Installvia standard distutils command: python setup.py install note this also installs several 3rd party modules includingtask engine has been tested on python versions 2.1 and 2.2 LicenseAuthor |
|
![]() |
Software Package | 2001-10-02 | Thread Specific StorageAllows for creation of thread specific storage (tss) on a per object basis usage: YourClassMethod: self.tss =TSS() self.tss.set(foo) self.tss.get(foo) other than tss creation, there shouldn't be any need to worry about persistent changes (ie notifying persistence mechanisms of changes). hadn't thought about what happens when you store persistent objects here, probably not a good idea. This is a python library not a product. Whythis is part of on going project to rewrite some of zope's rdbms integration. tss is specifically geared towards creation of da's which would make equivalent functionality out of zope da level2 and 3. it might have utility outside of this and therefore is being distributed separate. Why do i want to use it?you probably don't zope general programming model is zodb connection specific anyways, ie each thread get its own connection to the zodb and hence its own object space, which greatly simplifies multithreaded programming. if however you want to create persistent in memory objects that aren't tied to ResourcesThis is implementation mirrors a variant of the tss pattern found in POSA II: Patterns of Networked and Concurrent Objects please consult this book, for further information about the pattern and other variants. CommentsI have no idea if this work use it at your own risk. Author Kapil Thangavelu LicensePublic Domain I can't concieve of copyrighting something that is implemented a few dozen lines of code. |
|
![]() |
Software Package | 2002-03-07 | Transactional File SystemIntegrates with the zodb transaction system in attempt to present a simple file system interface that is transactional. usage outside of zope requires copying zope's lib/python/Shared/DC/ZRDB/TM.py file and editing the import line for it in TransactionalFileSystem.py to run the unit tests the TxnFs directory should be on your python path, as well as the ZODB, and TM.py. License:Author: kapil thangavelu |
|
![]() |
Software Package | 2002-04-23 | provides for a url based session identifiers in conjunction with Zope2.5+ sessions. |