Recent Changes - Search:

Main

Project

edit SideBar

Components

Project.Components History

Hide minor edits - Show changes to output

Added lines 1-2:
(:toc-float:)
August 15, 2014, at 02:33 PM by 68.58.166.108 -
Changed lines 59-60 from:
The overriding benefit is quick and easy DB conversions.  Flexible data storage and freedom from 'data jail' is a  central part of the project.
to:
The overriding benefit is 'quick and easy' DB conversions, at least as quick and easy as DB conversions are capable of being.  Flexible data storage and freedom from 'data jail' is a central part of the project, and is one of the central challenges for  evolving any application.
Deleted line 67:
Added line 73:
# Merging subject hierarchy and interwiki content from old Wikka Wiki site 
August 15, 2014, at 02:27 PM by 68.58.166.108 -
Changed lines 48-49 from:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! Using recent software versions on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's a lot of data by any standard ( outside of the corporate environment ).
to:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! Using recent software versions on modern hardware, a SQLite database can support anything from millions of ( short ) rows to a total DB size of several 100 megabytes ( for blob storage ).  That's a lot of data by any standard outside of the corporate environment.
Changed line 52 from:
Also note that one of the best SQLite managers is a plugin for FireFox/Mozilla.  That alone makes SQLite necessary.  There might be need for applications that only use MySQL databases, but there is no reason not to downsize to SQLite for deployment across the integration environment. 
to:
Also note that [[http://code.google.com/p/sqlite-manager/ | one of the best SQLite managers]] is a plugin for FireFox/Mozilla that also runs as XUL.  That alone makes SQLite necessary.  There might be need for applications that only use MySQL databases, but there is no reason not to downsize to SQLite for deployment across the integration environment. 
August 15, 2014, at 09:47 AM by 68.58.166.108 -
Deleted line 68:
Added lines 71-72:
Aside from developing the semwiki, tasks include:
Changed lines 74-75 from:
# Develop DB conversion idiom
to:
# Separate types, capture potential category and tag relationships.
# Develop DB conversion idiom, especially between MySQL and SQLite.
August 12, 2014, at 03:19 PM by 68.58.166.108 -
Changed lines 68-80 from:
!!!!Lessons Learned - Semantic MediaWiki

Security and language usability aside, the quickest and easiest to implement a working semwiki site is still  MediaWiki plus Semantic MediaWiki extensions. 

SMW has some really interesting features, such as properties and types, semantic 'type' templates, enhanced forms, semantic drilldown tools, etc etc.  Basically, the new functions should create a blend of data model with document model.  The end result seems to be a richer navigational environment for the user, allow access by properties, types or values as well as by categories and page links.   


* [[http://www.mediawiki.org/wiki/Extension:Semantic_Forms | Semantic Forms Extension]]
* [[http://semantic-mediawiki.org/wiki/Help:SMW_extensions | SMW Extensions]]

 

 
to:
August 12, 2014, at 03:19 PM by 68.58.166.108 -
Changed lines 70-71 from:
The quickest, easiest and perhaps even best way to implement a working semwiki site is with MediaWiki plus Semantic MediaWiki extensions. 
to:
Security and language usability aside, the quickest and easiest to implement a working semwiki site is still MediaWiki plus Semantic MediaWiki extensions. 
Deleted line 74:
Changed line 76 from:
* [[http://semantic-mediawiki.org/wiki/Help:SMW_extensions | SMW Extensions]
to:
* [[http://semantic-mediawiki.org/wiki/Help:SMW_extensions | SMW Extensions]]
August 12, 2014, at 03:16 PM by 68.58.166.108 -
Added lines 66-81:


!!!!Lessons Learned - Semantic MediaWiki

The quickest, easiest and perhaps even best way to implement a working semwiki site is with MediaWiki plus Semantic MediaWiki extensions. 

SMW has some really interesting features, such as properties and types, semantic 'type' templates, enhanced forms, semantic drilldown tools, etc etc.  Basically, the new functions should create a blend of data model with document model.  The end result seems to be a richer navigational environment for the user, allow access by properties, types or values as well as by categories and page links.   



* [[http://www.mediawiki.org/wiki/Extension:Semantic_Forms | Semantic Forms Extension]]
* [[http://semantic-mediawiki.org/wiki/Help:SMW_extensions | SMW Extensions]

 

 
August 12, 2014, at 02:45 PM by 68.58.166.108 -
Changed line 46 from:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... tah dah ![[http://www.sqlite.org/ | SQLite]].
to:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... tah dah ... [[http://www.sqlite.org/ | SQLite!]].
August 12, 2014, at 02:44 PM by 68.58.166.108 -
Changed lines 48-50 from:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using a recent version of SQLite on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's a lot of data by any standard ( outside of the corporate environment ).

Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second max, during DB synchronizations.  It's also part of the Python Standard Library, so it's always runnable everywhere.
to:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! Using recent software versions on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's a lot of data by any standard ( outside of the corporate environment ).

Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second max, during DB synchronizations.  SQLite is also part of the Python Standard Library, so it's always runnable everywhere, a key requirement.
August 12, 2014, at 02:34 PM by 68.58.166.108 -
Changed line 40 from:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Small efficient Python apps and a few Java heavy hitters could become a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
to:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. It's an excellent example of how small quick Python apps can help power an integrated desktop.  Small efficient Python apps ( with a few compiled apps and a few Java heavy hitters ) could become a 'familiar spirit' on the Windows/Linux/Macintosh desktop. 
August 12, 2014, at 02:32 PM by 68.58.166.108 -
Changed lines 57-61 from:
SQL Alchemy deserves a section of its own.  It's so good that it's a good reason to use Python, even if you didn't plan on it. 

Quick and easy DB conversions and the freedom they confer from 'data jail' are an increasingly central part of the project
.

to:
SQL Alchemy deserves a section of its own.  It's so good that it's a good reason to use Python, even if you didn't plan on it.  The downside is that it is fairly heavy-weight, by Python standards. 

The overriding benefit is quick and easy DB conversions
.  Flexible data storage and freedom from 'data jail' is a  central part of the project.
Added line 71:
August 12, 2014, at 02:29 PM by 68.58.166.108 -
Changed lines 48-50 from:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second max, during DB synchronizations.

It's
also part of the Python Standard Library, so it's always runnable everywhere.
to:
I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using a recent version of SQLite on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's a lot of data by any standard ( outside of the corporate environment ).

Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second max, during DB synchronizations. 
It's also part of the Python Standard Library, so it's always runnable everywhere.
August 12, 2014, at 02:27 PM by 68.58.166.108 -
Changed lines 44-46 from:
Database technology is a very big part of PyWacket and of application integration in general.

The most ubiquitous database capable of driving light-weight, non-industrial applications is ...
[[http://www.sqlite.org/ | SQLite]].
to:
Database technology is a very big part of PyWacket and of application integration in general.  There are very few really heavy database apps outside of the corporate environment ( say 100 tables, 200 relationships ).

The most ubiquitous database capable of driving light-weight, non-industrial applications is ... tah dah !
[[http://www.sqlite.org/ | SQLite]].
August 12, 2014, at 02:24 PM by 68.58.166.108 -
Changed lines 46-47 from:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... [[http://www.sqlite.org/ | SQLite]].  I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, A SQLite dabase can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second during DB synchronizations.
to:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... [[http://www.sqlite.org/ | SQLite]].

I have heard many moans and groans at this
point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, a SQLite database can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second max, during DB synchronizations.
Changed line 57 from:
SQL Alchemy deserves a section of its own.  It's so good that it's a reason to use Python, even if you didn't plan on it. 
to:
SQL Alchemy deserves a section of its own.  It's so good that it's a good reason to use Python, even if you didn't plan on it. 
August 01, 2014, at 12:48 PM by 68.58.166.108 -
Added line 61:
Added line 63:
August 01, 2014, at 12:48 PM by 68.58.166.108 -
Changed lines 60-64 from:
http://www.sqlalchemy.org/

http://www.sqlalchemy.org/docs/

https://pypi.python.org/pypi/SQLAlchemy
to:
* http://www.sqlalchemy.org/
* http://www.sqlalchemy.org/docs/
* https://pypi.python.org/pypi/SQLAlchemy
August 01, 2014, at 12:48 PM by 68.58.166.108 -
Changed line 46 from:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... [[http://www.sqlite.org/ | SQLite]].  I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, A SQLite dabase can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second.
to:
The most ubiquitous database capable of driving light-weight, non-industrial applications is ... [[http://www.sqlite.org/ | SQLite]].  I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, A SQLite dabase can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second during DB synchronizations.
August 01, 2014, at 12:45 PM by 68.58.166.108 -
Changed line 64 from:
ttps://pypi.python.org/pypi/SQLAlchemy
to:
https://pypi.python.org/pypi/SQLAlchemy
August 01, 2014, at 12:45 PM by 68.58.166.108 -
Changed line 64 from:
http://pypi.python.org/pypi/SQLAlchemy/0.7.1
to:
ttps://pypi.python.org/pypi/SQLAlchemy
August 01, 2014, at 12:44 PM by 68.58.166.108 -
Changed lines 42-47 from:
!!!Database and DB Conversions

SQL Alchemy

DB conversions and the freedom they confer are an increasingly central part of the whole project
.
to:
!!!!Database

Database technology is a very big part of PyWacket and of application integration in general.

The most ubiquitous database capable of driving light-weight, non-industrial applications is
... [[http://www.sqlite.org/ | SQLite]].  I have heard many moans and groans at this point.  OMG, SQLite, how un-cool !!! By using recent version of SQLite on modern hardware, A SQLite dabase can support millions of rows and total DB size of several 100 megabytes.  That's alot of data.  Don't ask for a 1000 transactions per second, but that's not what I'm asking - maybe a hundred per second.

It's also part of the Python Standard Library, so it's always runnable everywhere.

Also note that one of the best SQLite managers is a plugin for FireFox/Mozilla.  That alone makes SQLite necessary.  There might be need for applications that only use MySQL databases, but there is no reason not to downsize to SQLite for deployment across the integration environment. 
 

!!!!DB Conversions and SQL Alchemy

SQL Alchemy deserves a section of its own.  It's so good that it's a reason to use Python, even if you didn't plan on it. 

Quick and easy DB conversions and the freedom they confer from 'data jail' are an increasingly central part of the project.


Changed line 66 from:
To do:
to:
!!!!To Do:
August 01, 2014, at 11:52 AM by 68.58.166.108 -
Changed lines 21-23 from:
However, the definition is entirely from a software perspective.  Perhaps a better rephrasing might be " ... that encapsulates a set of related functions (or '''knowledge''').

Defining a a
'knowledge-based' component architecture is a key ingredient to this project. 
to:
However, the definition is entirely from a software perspective.  Perhaps a better rephrasing might be " ... that encapsulates a set of related functions (or ''knowledge'')".  Defining 'knowledge-based' component architecture is a key ingredient to this project. 
August 01, 2014, at 11:52 AM by 68.58.166.108 -
Added lines 1-2:
!!!! Basic Requirement
Added lines 6-26:

!!!! What is a Software Component ?

The answer is more difficult than one might expect.  There are several uses of the word "component" for different things, in other words, there are multiple definitions.

[[http://en.wikipedia.org/wiki/Software_component#Software_component | Wikipedia's definition]]:

-> An individual software component is a software package, a web service, a web resource, or a module that encapsulates a set of related functions (or data).

-> All system processes are placed into separate components so that all of the data and functions inside each component are semantically related (just as with the contents of classes). Because of this principle, it is often said that components are modular and cohesive.

-> With regard to system-wide co-ordination, components communicate with each other via interfaces. When a component offers services to the rest of the system, it adopts a provided interface that specifies the services that other components can utilize, and how they can do so. This interface can be seen as a signature of the component - the client does not need to know about the inner workings of the component (implementation) in order to make use of it. This principle results in components referred to as encapsulated. The UML illustrations within this article represent provided interfaces by a lollipop-symbol attached to the outer edge of the component.

Wikipedia's definition is about as good as it gets.

However, the definition is entirely from a software perspective.  Perhaps a better rephrasing might be " ... that encapsulates a set of related functions (or '''knowledge''').

Defining a a 'knowledge-based' component architecture is a key ingredient to this project. 


!!!! Ubiquitous Desktop Applications
July 27, 2014, at 11:12 AM by 68.58.166.108 -
Changed lines 9-10 from:
 Trac may be another common component across the three operating systems, running as tracd and providing a sort of system configurator knowledge base and control panel application. The Windows installation of Trac has a special .exe version that makes installation of Python dependencies much easier for the average Windows user.
to:
Trac may be another common component across the three operating systems, running as tracd and providing a sort of system configurator knowledge base and control panel application. The Windows installation of Trac has a special .exe version that makes installation of Python dependencies much easier for the average Windows user.
Changed lines 27-32 from:
 http://www.sqlalchemy.org/

 http://www.sqlalchemy.org/docs/

 http://pypi.python.org/pypi/SQLAlchemy/0.7.1
to:
http://www.sqlalchemy.org/

http://www.sqlalchemy.org/docs/

http://pypi.python.org/pypi/SQLAlchemy/0.7.1
Changed lines 35-37 from:
    Convert and merge old Drupal content. ( into what, wiki format or html ? Pros and cons ?)

    Develop DB conversion idiom
to:
# Convert and merge old Drupal content. ( into what, wiki format or html ? Pros and cons ?)
# Develop DB conversion idiom

July 27, 2014, at 11:11 AM by 68.58.166.108 -
Changed lines 15-18 from:
     XAMPP - running MySQL, HTTP, FTP, SMTP servers, mainly Windows workstations, but also runs on small Linux systems as well ( such as Puppy Linux ).
    The ever-present  Open Office - using  Open Office Python capabilities, may have additional Java dependencies.

[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Small efficient Python apps could become a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
to:
* XAMPP - running MySQL, HTTP, FTP, SMTP servers, mainly Windows workstations, but also runs on small Linux systems as well ( such as Puppy Linux ).

* Open Office - Java based.  Open Office Python capabilities may have additional Java dependencies.

[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Small efficient Python apps and a few Java heavy hitters could become a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
July 27, 2014, at 11:08 AM by 68.58.166.108 -
Changed line 18 from:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Like Pyewaket the cat, it is becoming a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
to:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Small efficient Python apps could become a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
July 26, 2014, at 05:44 PM by 68.58.166.108 -
Changed lines 18-36 from:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Like Pyewaket the cat, it is becoming a 'familiar spirit' on the Windows/Linux/Macintosh desktop.
to:
[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Like Pyewaket the cat, it is becoming a 'familiar spirit' on the Windows/Linux/Macintosh desktop.

!!!Database and DB Conversions

SQL Alchemy

DB conversions and the freedom they confer are an increasingly central part of the whole project.

 http://www.sqlalchemy.org/

 http://www.sqlalchemy.org/docs/

 http://pypi.python.org/pypi/SQLAlchemy/0.7.1

To do:

    Convert and merge old Drupal content. ( into what, wiki format or html ? Pros and cons ?)

    Develop DB conversion idiom
July 26, 2014, at 05:41 PM by 68.58.166.108 -
Added lines 1-18:
Components consist mainly of Python modules and possibly some binaries.

Installation must be very easy for Windows, either via Python easy_install or a Windows installer for binaries ( no compiler in other words ). For Linux, installed components might come directly from the OS repository or via easy_install from the PyPi? repository.

Common desktop applications between Windows, Linux and perhaps the Mac is a large and growing suite of  [[http://en.wikipedia.org/wiki/Category:GTK%2B | GTK+ desktop applications ]] such Geany and Seamonkey, with Python bindings/wrappers and Twisted, for either basic process control or more fine-grained control via API ( if available ).

To make development of an integrated process manager a bit easier, some sort of rule-based workflow engine is envisioned, but details remain sketchy.

 Trac may be another common component across the three operating systems, running as tracd and providing a sort of system configurator knowledge base and control panel application. The Windows installation of Trac has a special .exe version that makes installation of Python dependencies much easier for the average Windows user.

A question is how to run PyWacket peer-to-peer on Windows with [[http://en.wikipedia.org/wiki/Subversion_(software) | Subversion]] or some sort of quick-and-easy version control. The [[http://bazaar.canonical.com/en/ | Bazaar version control ]] package may be the answer. The standalone package contains all necessary dependencies, including its own Python 2.5. For details, see the slightly out-of-date page  Windows Installer. Another possible component is  Mercurial, also see  http://en.wikipedia.org/wiki/Mercurial. Both provide additional distributed repository management functions that may more useful for the peer-to-peer version of PyWacket than Subversion.

Other potentially ubiquitous components are:

    XAMPP - running MySQL, HTTP, FTP, SMTP servers, mainly Windows workstations, but also runs on small Linux systems as well ( such as Puppy Linux ).
    The ever-present  Open Office - using  Open Office Python capabilities, may have additional Java dependencies.

[[http://zim-wiki.org/ | Zim Wiki]] is a nice little Python desktop wiki with HTML publishing capabilities, among many other excellent Python desktop applications. Like Pyewaket the cat, it is becoming a 'familiar spirit' on the Windows/Linux/Macintosh desktop. 
Edit - History - Print - Recent Changes - Search
Page last modified on September 08, 2014, at 05:27 PM