You are on page 1of 17

ACE

REAL PE nflict Co
t the A bsence of
is no tice…
P re s e nce of Jus
but the ech’
– ‘B e A fraid Spe
One
AirForce

CONFIDENTIAL INFO
Engineering, forums and conversations for the future of
technology and the concept of ‘Decentralization’

author: shelly warren date: 4/6/2023


Organizational Structure Document standards for information transfer between encyclopedias.

Involved with producing the goals. Create open-source codebases others can install and configure to create custom use cases
which can become part of a greater whole of the decentralization movement.
of
u re ’ world
e ‘fut Prototype Aggregators
n q u er th ation. ia’
KSF : “Co form kiped
Larry opedia in on of ‘Wi
cl ti PHP JAVA EncycloSearch
encyclosphere.org
Larry Sanger ency xt revolu ned” EncycloReader
decentralizers.org h e n e le ar
encyclosearch.org
T
l e ssons
encycloreader.org with Defined zipped json format for article submission

Administration/Population
Tim Chambers John Hampson Christian Gribneau PHP/SQLlite: encyclopedia submission request
Encyclo-Listing - 200+ in progress, including InternetArchive.com
Treasurer/Operations Systems/Moderator

Opensource code examples


ly
we are simp
Hampson: “ s fo r the PHP/Mediawiki: export to zwiformat: mediawiki
standard zwimaker
creating the m ay
Engineers and technical creators
network to u
se, and
osting
w e
G zwisearch PHP: need better detail
have some h
Sergei Chekanov Henry Sanger capabilitie s bu t by n o m
r ev
eans
en
O zwibuilder Python: article submission codebase
thority o
a central au
the largest n
ode. ” A wordpress PHP: plugin for article submission to aggregators
L chrome app
Javascript: Chrome browser plugin; override search
Partners/Volunteers S encyclocrawler JAVA: webcrawler for encyclopedia sites
Philip Parker handwiki.org/wiki/ZWI_file_format
identifying serialized token: see wordpress
Ology.com PSQR
Solidproject.org
Dimitri Zagidulin
zwinetwork WIN/Linux: aggregator installer, req. support

encyclotorrent Linux: aggregator installer??

encycloengine JAVA: web portal prototype for these tools working together
Decentralize, what does it mean?
A sys
t
can't em organ
b iz
a sys e contro ed in a w
te ll a
indep m design ed from t y that it
ende e h
nce o d to pres e top dow
f the e n,
parts rve the
Identity Content Interoperability not able to be controlled by a central
Is a recognizable authority because it has no central authority
Needs Standards
public image Encrypted protocols Ownership not able to be controlled
consisting of: Name, pier-to-pier Customization by a central authority
Image, Bio, Network server-to-server Security

self-hosted saas servers


Owncloud: https://owncloud.com/
decentralized network consists of multiple Nxtcloud: https://nextcloud.com/
domains working peer to peer. ClearOS: https://www.clearos.com/
Ideally, there is one domain per identity.
If you want multiple, distinct identities, register
multiple domains. cloud servers
Fediverse
Mastodon
Diaspora
Gab
SecureScuttleButt

Resources
WC3 : social community group IPFS explainer:
https://larrysanger.org/2021/01/what-decentralizati https://www.youtube.com/watch?v=94HH5D23WWI&ab_channel=XSLLabs
on-requires/ https://www.youtube.com/watch?v=HUVmypx9HGI&ab_channel=stanfordonline
https://www.youtube.com/watch?v=HUVmypx9HGI
&ab_channel=stanfordonline
Aggregators
Self-Hosted server configured with a
variety of software parts, a database
and a file structure to add personal
custom data offerings to the network
for public sharing.
How is the aggregator list handled?
Is there a main sync location to call or does the sync work around

Usage: Aggregator and Publisher an aggregator list?


How do networks become aware of networks?
How do publishers get publishing acceptance?
How do aggregators get added to the list of network aggregators?
Add to network: what does that mean?
- You have a personal server with an install of EncycloEngine, you store your preferred articles in .zwi format and you use the EncycloSearch to search the files
for content.
- There is no ‘global’ list of aggregators, the sync should update your aggregator list for all known aggregators? You control the list using a config file?
- There is no group or community, you basically have your own aggregator search engine and as you run across others you add them as you see fit but there is
no place to find or become part of a list of aggregators: like Fetaverse offers.

What are rules around passwords for submission (wordpress)?


- You use google search to locate aggregators and request from them access and a password?
- Each aggregator has a url here: encyclosphere/aggregators which lists the aggregators being sync to the one you are using
- Only WordPress has a per article submission page, the aggregators have .zwi file uploads.

How do you become someone who is allowed to publish articles into the aggregators?
What are the rules of article content being pushed to aggregators?
- Each aggregator controls their own rules, you must ask them.

What restrictions can an aggregator have and still be considered part of the
Encyclosphere network? Or is that really just the encyclosphere aggregators and it
might not be part of others?
- Encyclosphere is a controlled set of articles in encyclopedia format and must be approved by KSF for inclusions in protype aggregators: ES|ER,
just like other aggregators.
Document standards for information transfer between encyclopedias.

Create open-source codebases others can install and configure to create custom use cases
which can become part of a greater whole of the decentralization movement.

Opensource code examples


Prototype Aggregators zwimaker PHP/Mediawiki: export to zwiformat: mediawiki

zwisearch PHP: need better detail

zwibuilder Python: article submission codebase


EncycloReader PHP JAVA EncycloSearch
wordpress PHP: plugin for article submission to aggregators
Defined zipped json format for article submission Javascript: Chrome browser plugin; override search
chrome app

encyclocrawler JAVA: webcrawler for encyclopedia sites

PSQR identifying serialized token: see wordpress

Administration/Population
zwinetwork WIN/Linux: aggregator installer, req. support
PHP/SQLlite: encyclopedia submission request
Encyclo-Listing - 200+ in progress, including InternetArchive.com
encyclotorrent Linux: aggregator installer??

encycloengine JAVA: web portal prototype for these tools working together
Aggregators – windows install Steps once files are in place, you may need a project.zip file, see red:
This takes the linux installer and make a few adjustments to run on a windows system. 1) gradlew.bat run --args="setup“
Docs are here: https://encyclosearch.org/docs/#/
PREREQ: JAVA 17, commandline should recognize this command: java –version, if not follow this to add to your path variables
https://www.qualitestgroup.com/insights/technical-hub/how-to-add-java-to-your-system-path/
2) gradlew.bat run --args="pull
jdk-17_windows-x64_bin.msi will install java on windows – get the current release https://encyclosearch.org encyclosearch/db“
OR
gradlew.bat run --console=plain --args="pull
Go to the code repo and download the .zip of the
codebase found here, unzip to preferred location:
https://encyclosearch.org encyclosearch/db"
https://gitlab.com/ks_found/encycloengine Windows, you can run EncycloEngine commands like so:
windows use file extensions to know what engine to use for
execution - there is not equivalent to chmod +x in windows, gradlew.bat run --args="<arguments>"
For example:
gradlew.bat run --args="setup“
Issue with lines: 117-138 in build.gradlew,
Process will could run an hour as it syncs all the database files.
comment out, manually place project.zip file This creates an ‘encyclosearch’ folder in the main code:
Its all or nothing , there are no conditionals to the data download yet.
into this location: encycloengine-master/encyclosearch
-- to reset the setup, delete this folder and re-run
encycloengine-master\src\main\resources
-- WHERE TO GET .ZIP file??
3) gradlew.bat run --args="start"
Once started, you might get a popup window for firewall access, click
allow. The process starts a local webserver you can access at this address:
http://0.0.0.0:8080 or http://127.0.0.1:8080

4) Start your sync, every 5 minutes


gradlew.bat run --args="sync https://encyclosearch.org
encyclosearch/db"
Process will only run if command window remains open, webserver stops
You will need to restart it to use the search capabilities
Aggregators – troubleshooter

System didn’t allow for user entry, need this to


accommodate add to the build.gradle
Issue with lines: 117-138 in build.gradlew,
comment out, manually place project.zip file
into this location:
encycloengine-master\src\main\resources
-- WHERE TO GET .ZIP file??

Shows folder was created, try moving forward

Indicates you need the project.zip file in the


correct location: C:\Users\swnin\Desktop\
InProgress_ideas\kfs\aggregator\
encycloengine-master\src\main\resources
Aggregators – webserver
The webserver that is relies on is a Jetty Server, the code base MUST have this server running to function. Once started, you might get a popup window for firewall access, click
If you would like it to run from a different webserver you must set up configuration as a reverse proxy allow. The process starts a local webserver you can access at this address:
http://0.0.0.0:8080 or http://127.0.0.1:8080

How to make it public


-reverse proxy is the only way
-is there an article edit feature I missed maybe?
How it works together How is the aggregator list handled?
Is there a main sync location to call or does
the sync work around an aggregator list?
How do networks become aware of
networks?
How do publishers get publishing
wordpress acceptance?
How do aggregators get added to the list of
KSF PROTOTYPE NETWORK article submission network aggregators?
Website
search/upload
KFS admin
aggregators list
encyclopia listing
website

ZWI
webcrawler
sync aggs anotherAgg ZWI

EncycloReader 3rdparty PHP 3RD PARTY


dbserver
encyclopedias EncycloSearch
dbserver

sync aggs
anotherAgg website
ZWI fileserver
ZWI ZWI

JAVA 3RD PARTY


fileserver
webcrawler
PSQR

Wordpress

How the wordpress works with


the Encyclosphere
Wordpress plugins: setups
Install both plugins shown

Install the plugins


Created your VPS keys
Upload to user record
Configure your Encycloshpere settings

HOW DOES THE CODE/PASS PROCESS WORK

Key upload per user:


DID/PRIVATE KEY
Wordpress plugins: use

Dashboard shows the generated


zwi files. Click to download.
PSQR

Identity

Creating a better way to be


authenticated
DID:PSQR ID:Identity

SAME THING
DID:PSQR wordpress plugin

{ "@context":
[ "https://www.w3id.org/did/v1", "https://vpsqr.com/ns/did-psqr/v1" ],

"id": "did:psqr:acme-publishing.com",

"psqr": { "@id": "https://vpsqr.com/ns/did-psqr/v1#psqr",

"publicIdentity":
Example DID
{ "name": "Acme Publishing", "tagline": "All the Best", document
"image": "https://www.acme-publishing/assets/logo-180x180.png",
"url": "https://www.acme-publishing.com" },

"publicKeys":
[ { "kid": "did:psqr:acme-publishing.com#publish", "kty": "EC", "crv": "P-384", "alg": "ES384", "x": "3v5...muQ", "y":
"X4w...3Z1" },
{ "kid": "did:psqr:acme-publishing.com#curate", "kty": "EC", "crv": "P-384", "alg": "ES384", "x": "am2...z31", "y": "v22...Fg3" },
{ "kid": "did:psqr:acme-publishing.com#admin", "kty": "EC", "crv": "P-384", "alg": "ES384", "x": "apK...Yyo", "y": "aJm...qChs" }
],

"permissions":
[ { "kid": "did:psqr:acme-publishing.com#publish",
"grant": [ "publish", "provenance" ], }, { "kid": "did:psqr:acme-publishing.com#curate",
"grant": [ "list", "curate" ], }, { "kid": "did:psqr:acme-publishing.com#admin",
"grant": [ "admin" ], } ],

"updated": 1640713069290 } section 4 of the DID core specification


}
Private ID
Public ID

access

You might also like