Editing Systems selections

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
This article is for choosing good systems (technical) for The [[Consumerium]] Effort - Enhancing Consumer Informedness


== Factors affecting systems selections ==  
== Factors affecting database systems selections ==  


* [[Copyleft]] 'free to modify' and 'free of cost' software is strongly preferred over other solutions.  
* [[Copyleft]] 'free to modify' and 'free in cost' software is strongly preferred over other solutions.  
* Minimal modifications made (MMM) is an preference as well. This will ensure that we don't get swamped down on patching ad-hoccy, unstandard aged solutions to keep 'em working with the new stuff.
* Minimal modifications required could be another preference as that means maintenance of the chosen solution is minimized in that aspect.
----
----
== Encodings ==
* Integers [[w:BASE10]] for integers, size depends on available solutions. Escape integer ceiling by bluntly encoding the integer as string of BASE-10 chars, dirty hack but could do the trick.
* Condense URL encoding [[w:BASE64]] and 64 possible characters, exactly 6 bits from [[w:ISO/IEC 646]] (hard compatible with 7-bit ASCII)
* [[w:UTF-8]] encoded [[w:Unicode]] for text. UTF-8 is efficient and allows 2^32 different characters.. unless escaped to 40-bit in future revision


== Copyright and copyleft protections system selections ==
== Languages ==
* [[Copyleft]] [[licensing]] for content, code and [[Consumerium Commons]] media repository
Programming languages
* Automatic plagiarism testing which usually probably also translates to copyvio
* Disqualify and rapidly remove all copyvio
* Discourage piratism. Piratism on copyleft much stronger than on copyright.


== Data identifiers ==
''' Currently used languages '''
* [[GTIN]] (contains [[EAN]] and [[UPC]] spaces) identifies uniquely a [[product]] to the systems. Also contains the country of the [[marketer]] (2 first digits of EAN) and address of the marketers address space. It may be possible to acquire namespace size from examining these values. Possible values are 100 ids and 10,000 ids (EAN).
* PHP
* [[ISO]] identifiers exist for at least [[languages]], [[countries]], country-subdivision [[areas]], [[securities]] and many more things [[w:List of International Organization for Standardization standards]]
* ruby
* [[UN/LOCODE]] (United Nations Code for Trade and Transport Locations) identifies globally nearly all locations of interest to [[logistics]].
* python


== Product and service classifications ==
'''Considered languages / languages of interest'''
'''[[Product and service classifications]]'''


== Databases ==
== Databases ==


'''Main article: [[Databases]]'''
=== Current databases ===
'''Main article: [[Database]]'''


Currently using all major free software RDBMS:  
Currently using all major free software RDBMS:  
Line 36: Line 28:
'''Considered databases'''
'''Considered databases'''
* [[Databases#Graph databases|Graph databases]] and [[Database#Subject-predicate-object databases|Subject-predicate-object databases]] seem to perform the same thing just with different architecture and suitability for certain searches. See [[Talk:Databases]] for more on this.
* [[Databases#Graph databases|Graph databases]] and [[Database#Subject-predicate-object databases|Subject-predicate-object databases]] seem to perform the same thing just with different architecture and suitability for certain searches. See [[Talk:Databases]] for more on this.
'''Candidates for testing'''
* All copyleft licensed triplestore and more advanced i.e. graph
----
== Languages ==
Programming languages
''' Currently used languages '''
* [[w:PHP]] (5)
* [[w:Ruby (programming language)]]
* [[w:Python (programming language)]]
'''Considered languages / languages of interest'''


----
----
Line 54: Line 33:
== Frameworks ==
== Frameworks ==


'''Frameworks''' for glueing into various systems
'''Frameworks'''
* [[Semantic MediaWiki]] compatibilities: PHP, Semantic Forms, enter data in [[wiki code]] -> RDF <-> Graph -> Outputs wikirenders and public [[SPARQL]] endpoints
* [[Semantic MediaWiki]]


----
----
== Software ==
== Software ==
'''Current server software'''
'''Main article: [[Software]]'''


* [[w:Operating system|Operating system]]: [[w:Debian|Debian]] [[w:GNU/Linux|GNU/Linux]]
=== Current software ===
* [[w:Hypervisor|Hypervisor]]s (by hosting guys) [[w:Xen|Xen]] and [[w:Kernel-based Virtual Machine|KVM]]
* Webservers: [[w:Nginx|Nginx]] and [[w:Apache HTTP Server|Apache]]


* [[MediaWiki]] ([[w:PHP|PHP]], [[w:MariaDB|MariaDB]] and more)
* [[MediaWiki]]
* [[w:diaspora (software)]]  ([[w:Ruby on Rails|Ruby on Rails]] ,[[w:Ruby (programming language)|Ruby]], MariaDB, [[w:Node.js|Node.js]] and more) - role: [[consumer protection]] oriented [[free social media]] since 2010
* diaspora*
* [[w:Draft:Hubzilla]] (PHP, MariaDB) - Excellent channel-based distributed free social media where subscription is to the whole network allowing nomadic and double citizenship. A model the others should follow suit.
* Hubzilla
* [[w:Friendica]] (PHP, MariaDB, fully contained in database w/ images stored as blobs. The least learning curve free social media for [[facebook refugees]]. Initiated by the same guy as Hubzilla.
* Friendica
* [[w:GNU social]] MariaDB - [[w:Microblogging|Microblogging]] platform
* GNU social
* [[w:GNU MediaGoblin]] (Python2 (Installing Python3 was impossible last time I looked at it, theoretically compatible with Py3 but broken because outside code supplier.) and [[w:PostgreSQL|PostgreSQL]]) Role: [[Copyleft]] [[code]], [[content]] and [[codecs]] based media repository.
* GNU MediaGoblin
 
''' Future software '''
* Once [[MaidSafe]] goes persistent stage Consumerium will be deploying many nodes in order to earn SafeCoin to pay for future storage needs. Provision of information services to the denizens of the SAFE Network is also naturally a priority but basically patching a normal webapp onto the SAFE Network is straightforward and easy. Also: commiemism.
...
...


Line 83: Line 56:
APIs to communicate with:
APIs to communicate with:


* [https://www.mediawiki.org/wiki/API:Main_page MediaWiki API]
* Free social media ones
* Free social media ones
* Commercial social media ones


----
----


== Data sources ==
== Data sources ==
''' Data sources: Own own data source '''
=== Data sources: own ===
* [[Semantic MediaWiki]] well thought out and set up on implementation wiki (c.consumerium.org)
* [[Semantic MediaWiki]] well thought out and set up on implementation wiki (c.consumerium.org)
* [[Development Wiki]] - User database, userspace sharing or importing and Unified Login are being looked at as options.
* [[Development Wiki]] - User database, userspace sharing or importing and Unified Login are being looked at as options.


''' Data sources: Semantic web '''
=== Data sources: Semantic web ===
 
* Other Semantic MediaWikis
The [[w:semantic web]] at large and the [[w:semantic wiki]]s are treasure troves of interesting data which Consumerium should tap into early on to avoid redundant manual replication and duplicate data insertions.
* [[DBpedia]]
 
* [[Wikidata]]
* Other copyleft Semantic MediaWikis  
** [http://smw.referata.com/wiki/Special:BrowseData/Sites Semantic MediaWiki Community wiki list of SMW sites]
** [https://wikiapiary.com/wiki/Semantic_statistics Wikiapiary list of SMW sites]
** [http://wikiindex.org/Category:Semantic_MediaWiki Wikiindex.org category of SMWs]
 
* '''[[DBpedia]]''' [http://dbpedia.org/sparql Public SPARQL endpoint of DBpedia.org] and [http://wiki.dbpedia.org/projects Projects and efforts using DBpedia] are very relevant.
* '''[[Wikidata]]''' [https://query.wikidata.org/ Public SPARQL endpoint of Wikidata.org (Wikidata Query Service)]
 
''' Commercial data sources '''
* [https://developers.google.com/maps/documentation/distance-matrix/overview 'Google Maps Platform ->  Web Services -> Distance Matrix API' at developers.google.com]
 
'''Lists of Sparql endpoints'''
* https://www.w3.org/wiki/SparqlEndpoints


----
----
Line 121: Line 79:
* [[Consumerium Commons]]
* [[Consumerium Commons]]
* Upcoming federated [[w:GNU MediaGoblin]]
* Upcoming federated [[w:GNU MediaGoblin]]
''' Free social media '''
* [[Consumium free social]]
Please note that all contributions to Consumerium development wiki are considered to be released under the GNU Free Documentation License 1.3 or later (see Consumerium:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)