Bkoo>Jared Cordon |
|
(133 intermediate revisions by 13 users not shown) |
Line 1: |
Line 1: |
| '''PersonalKnowledgeContainer'''<ref>Personal Knowledge Container, Github Project, URL:https://github.com/xlp0/PersonalKnowledgeContainer</ref>, abbreviated as '''PKC'''<ref>PKC, Github Project, URL: https://github.com/xlp0/PKC</ref>, is a data management tool with an automated process that democratizes the [[data is the asset|ownership]] of [[MW:MediaWiki|MediaWiki-based knowledge management technologies]]<ref>https://www.bmc.com/blogs/microservices-architecture/</ref> in [[network environments]] of your choice. After the [[PKC#Installation_Procedure.2FImplementation_Process|installation]], the MediaWiki service can operate on [[your own computer]] with or without [[wikipedia:Internet|Internet]] connection. | | [[PKC|'''Personal''' Knowledge Container]]([[wikidata:Q110762241|Q110762241]])/([[個人知識容器]]) is a way to help attain personalized [[data sovereignty]] through [[Personal Cloud]] technologies. It can also be used as [[Public Knowledge Container|'''Public''' Knowledge Container]] and/or [[Project Knowledge Container|'''Project''' Knowledge Container]].It is abbreviated as [[PKC]]<ref>PKC (Github Project, URL: https://github.com/xlp0/PKC</ref><ref>{{:Video/Yochai Benkler: Open-source economics}}</ref><ref>Encyclosphere. (2022, April 6). PKC Media Wiki, . Retrieved 03:24, April 26, 2022 from https://www.pkc.pub/index.php?title=Encyclosphere&oldid=29070.</ref>, is a [[PKC services|collection of micro services (computation and communication processes)]] that enables personalized [[data is the asset|ownership]] of [[Hyperlink-centric data asset]]<ref>https://www.bmc.com/blogs/microservices-architecture/</ref>. It is a tool designed to be operated by individuals or communities of varying sizes and can be deployed to [[network environments]] of your choice. After the [[PKC#Installation_Procedure.2FImplementation_Process|installation]], your local instance of [[PKC]] service on [[your own computer]] will work, even without access to the [[wikipedia:Internet|Internet]]. [[PKC]] allows for an integrative deployment of [[user-friendly knowledge presentation]], [[extensible functionalities]], and [[self-servicing data asset ownership]] in a single package. In other words, this technology platform is designed to lower the entry barrier for the ownership of [[self-sovereign data asset]]s. |
|
| |
|
| ==Context== | | =The abstract specification of PKC= |
| | It will be helpful to read the [[Abstract Specification of PKC]] before continuing. |
|
| |
|
| Data has infiltrated every aspect of human life. Those who understand how to organize, process, secure and deploy data possess the most valuable and sought after asset in the world. Until recently this privilege required an incredible amount of hardware and financial resources; however due to the recent advancements of computer hardware, software infrastructure and cloud computing, globally-scaled data management systems can be created using [[Open Source Tools]] with an astonishingly short amount of time and surprisingly low costs.
| | {{LogicModel |
| | |name=PKC |
| | }} |
|
| |
|
| In the era of [[Big Data]], it is being increasingly more important to have proper cybersecurity protocols in place to protect your data assets. It is possible to store and retrieve inter-linked data content using [[web]]-based [[microservice]] technologies that work even when a computer has no Internet connection. This '''[[off-line]]''' capability will enable you to enjoy the full power of open source software without exposing your data assets to unnecessary security risks.
| | {{:PKC/Readme.md}} |
|
| |
|
| In order to ensure that your own data will always be accessible to you, this self-operated service must have a simple procedure to perform data backup and restoration, so that your data management system can seamlessly transfer to a different computer; Moreover, having a data backup gives you the ability to read your own data even if the display software your using has evolved to a new version and no longer works with data stored by previous versions. It can compromise your Data Assets when they require 3rd party software to be displayed and stored correctly. This project intends to resolve this challenge by giving everyone the choice to run their own chosen version of MediaWiki software, given that all the images that have proven to work maintain publicly available images; therefore, even if the software has been abandoned, one may use [[wikipedia:Application virtualization|Application virtualization]] technologies to continue operate the software. For the detail explanation of design rationale, see [[Why PKC?]]
| |
|
| |
|
| __TOC__
| | <noinclude> |
| | | =Slide Show= |
| ==Goal== | | For a slide show on [[PKC]], please see this following slide set: |
| Create a basic set of services, files, and page content to help individuals operate a MediaWiki website on any machine of their choosing. This will allow them to continuously work with their own data assets, independent of future changes.
| | <nowiki>{{#widget:Google Presentation|docid= 18ZArxRn0FuQPLcAIkXeNxOsZFyrnLR1ncdkqTm6TqVk |size=medium}}</nowiki> |
| | | {{#widget:Google Presentation|docid= 18ZArxRn0FuQPLcAIkXeNxOsZFyrnLR1ncdkqTm6TqVk |size=medium}} |
| ==Success Criteria==
| | {{PagePostfix |
| 1. Allow Individuals to install an instance of MediaWiki service by reading this REAME.md file.
| | |category_csd=Personal Cloud,Personal Data Container,PKC,PKM, Data Science,Soulbound Token,Monoid |
| 2. Make all textual content, executable software images, installation scripts in the public domain, so that everyone can share and use them at will.
| | |semantic_labels=[[Page created by date::Start datetime]]= [[Start datetime::{{CURRENTMONTH}} {{CURRENTDAY}}, {{CURRENTYEAR}}]] |
| 3. Provide instructions to learn about how to use [[PKC]] in the initial MediaWiki's database, so that people can start learning to use PKC through their own instance of MediaWiki.
| | }} |
| | | </noinclude> |
| ==Required Resources==
| |
| #A computer that you have access to its "root" or "administrator" previledge.
| |
| #Operatng Systems that support [[wikipedia:Docker (software)|Docker]]: Windows 10, Mac OS X Big Sur 11.2.3 and Linux.
| |
| #Under Windows 10 Environment, some VPN software might interfere with [Docker]'s Windows Subsystem for Linux, a.k.a. [[wikipedia:Windows Subsystem for Linux|Windows Subsystem for Linux (WSL)]], you will need to remove VPN software before installing [Docker]. In case you don't want to remvoe your VPN software, or your Docker and Bash have compatibility issues, please try to [VirtualBox PKC] solution. | |
| #Access to the Internet during intallation time. Please try to perform the installation on a network with 10Mbps+ to the Internet. After installation, this system can operated without access to the Internet.
| |
| | |
| ==Installation Procedure/Implementation Process== | |
| #Installation must be conducted by a person who possess the root password of the target machine. When it starts installing, [[wikipedia:Superuser|root password]] needs to be provided in a [[wikipedia:Command-line interface|command line interface (CLI)]]. | |
| #Install [Docker], the Installation instructions and downloadable files can be found here: https://docs.docker.com/get-started/
| |
| #Go to a [command line], or so called [terminal] application, move your working directory using the command <code>[[wikipedia:cd (command)|cd]]</code>", meaning '''change your working directory''', to a directory in your file system. For Mac OS X and Linux operating systems, Terminal applications are bundled during installation. For Windows 10, we recommend you to use [https://www.atlassian.com/git/tutorials/git-bash Git Bash], when you install [git] for Windows, [https://www.atlassian.com/git/tutorials/git-bash Git Bash] is included the installation process.
| |
| | |
| Assume the directory you keep your working files is called: <code>Workspace</code>. Your [[wikipedia:Command-line interface|terminal application/command line interface (CLI)]] should present a prompt, similar to the following format: (your environment might also display machine name and user name along with the working directory name)
| |
| | |
| <syntaxhighlight>
| |
| Workspace$
| |
| </syntaxhighlight>
| |
| | |
| Download the entire package using <code>git</code>. You may copy the instruction as follows:
| |
| | |
| <syntaxhighlight>
| |
| Workspace$ git clone https://github.com/benkoo/PKC.git
| |
| </syntaxhighlight>
| |
| | |
| #After the <code>git clone</code> instruction copied relevant data to your working directory, using the command <code>cd</code> to the '''PKC''' directory that contains the script <code>[[up.sh]]</code>, and type: <code>./up.sh</code> to execute the script.
| |
| | |
| <syntaxhighlight>
| |
| Workspace$ cd PKC
| |
| PersonalKnowledgeContainer$ ./up.sh
| |
| </syntaxhighlight>
| |
| #After you submitted the <code>./up.sh</code> in your command line interface, you will be asked for a password, type in the root password for the machine you are trying to install.
| |
| #Open a browser: type the following URL to the browser's URL field: http://localhost:9352 or https://yourhostname.com (if your specified '''[[https]]''' transport in your '''[[.env]]''' file.
| |
| #If you plan to set up [[https]] for your [[PKC]], please refer to the page:[[Nginx as Reverse Proxy]].
| |
| | |
| ==Expected Outcome==
| |
| #Every 30 minutes, all the changes you made to this local instance of MediaWiki will be automatically backed up to the directory's "backup/" sub-directory.
| |
| #The textual content stored in MediaWiki's database can will be stored in an XML file: XLPLATEST.xml
| |
| #All the uploaded files, assuming the file names are accepted by the host operating system, will be dumped to the "backup/MediaFile/" sub-directory.
| |
| | |
| ==Boundary Conditions==
| |
| #We can not warrant any reliability, completeness, and accuracy of this installation procedure. '''Any action you take upon this information and execute this script is at your own risk''', We will not be liable for any losses and damages in connection to the use of the actions and software prescribed here.
| |
| #We have only tested on a small number of machines and configurations, your mileage may vary.
| |
| #Do not remove any of the files in the directory with <q>backup/</q>, such as <q>docker-compose.yml</q> and the <q>LocalSettings.php</q>. These files are the configuration files for Docker and MediaWiki respectively. Missing them, this system will cease to work.
| |
| #Many pre-defined parameters can be replaced in the '''[[.env]]''' file stored in the '''PKC''' directory. It allows flexible configuration of your system. For more information, please read [[Configure your own PKC instance]].
| |
| #For the sake of reducing typos, the project has moved from https://github.com/xlp0/PersonalKnowledgeContainer to https://github.com/xlp0/PKC. For the current implementation of Github, these two git repository names point to the same source. When GitHub change this practice, it will change. We recommend you to use the shorter version.
| |
| | |
| =References=
| |
| <References/> | |
| | |
| [[Category:Signed]]
| |
Personal Knowledge Container(Q110762241)/(個人知識容器) is a way to help attain personalized data sovereignty through Personal Cloud technologies. It can also be used as Public Knowledge Container and/or Project Knowledge Container.It is abbreviated as PKC[1][2][3], is a collection of micro services (computation and communication processes) that enables personalized ownership of Hyperlink-centric data asset[4]. It is a tool designed to be operated by individuals or communities of varying sizes and can be deployed to network environments of your choice. After the installation, your local instance of PKC service on your own computer will work, even without access to the Internet. PKC allows for an integrative deployment of user-friendly knowledge presentation, extensible functionalities, and self-servicing data asset ownership in a single package. In other words, this technology platform is designed to lower the entry barrier for the ownership of self-sovereign data assets.
The abstract specification of PKC
It will be helpful to read the Abstract Specification of PKC before continuing.
Logic Model (PKC) Template:LogicModel 07 7, 2023
|
Abstract Specification
Context
|
Given the impacts of Moore's Law, by year 2020, most Internet-connected data can be universally abstracted as a set of services, files, and page data assets, individuals can manage a scalable collection of data assets on privately owned computing resources and connect their resources to the public Internet at will. At the same time, software tools created under the Free Software movement, such as MediaWiki, Semantic MediaWiki[5],[6], Solid, Docker, Kubernetes, and Ansible[7] have matured to a point that allows for individual persons to own personally controlled data centers. This created a new asset class that can have significant technological and societal implications.
|
Goal
|
To offer personal data asset management at scale PKC aims at minimizing the operational complexity of data backup, verification, and restore process as a sound data validation workflow, while using public-key infrastructure and networked timestamps to ensure the trust-worthiness of PKC contained data.
|
Success Criteria
|
- Allow Individual users to install an instance of MediaWiki service by reading this PKC/Readme.md file.
- Make all textual content, executable software images, installation scripts in the public domain, so that everyone can share and use them at will.
- Provide instructions to learn about how to use PKC in the initial MediaWiki's database, so that people can start learning to use PKC through their own instance of MediaWiki.
|
|
Concrete Implementation
Given Inputs |
When Process is executed... |
Then, we get Outputs
|
- A computer that you have access to its "root" or "administrator" previledge.
- A host machine that runs an Operatng System that supports Docker:
- Windows 10
- Mac OS X
- Linux
- Access to the Internet during intallation time. Try to perform the installation on a network with 10Mbps+ to the Internet.
- After installation, this system can operated without access to the Internet.
- References to MediaWiki's software installation practices[8].
|
Go to Main Text
- Install Git
- Install Docker Runtime
- Install PKC
- (optional) Install Reverse Proxy
- (Optional) Example of Source Code
|
- A localized instance of Personal Knowledge Container, which can be accessed on localhost.
- Given a configurable regular interval, all the changes you made to your local instance of MediaWiki will be automatically backed up to the directory's "backup/" sub-directory.
- The textual content stored in MediaWiki's database can will be stored in an XML file: XLPLATEST.xml
- All the uploaded files, assuming the file names are accepted by the host operating system, will be dumped to the "backup/MediaFile/" sub-directory.
- New applications and data processing patterns can be defined by Data Flow
- Please carefully read Explaining LocalSettings.php to see how the MediaWiki is being set up.
|
|
Boundary/Safety Conditions of PKC
- PKC have only been tested on a small number of machines and configurations, your mileage may vary.
- Compared to Unix-derivatives such as Mac OSX and Linux operating systems, installing PKC on Windows operating system can be a challenge, therefore, please refer to PKC on Windows Platform.
- We can not warrant any reliability, completeness, and accuracy of this installation procedure. Any action you take upon this information and execute this script is at your own risk, the software developers for PKC have no way to be liable for any losses and damages in connection to the use of the actions and software prescribed here.
- Do not remove any of the files in the directory with
backup/ , such as docker-compose.yml and the LocalSettings.php . These files are the configuration files for Docker and MediaWiki respectively. Missing them, this system will cease to work.
|
|
Context
To help manage personalized and project-based data asset, PKC is designed to run in scalable configurations, starting from personalized computing resources, up to multi-server cloud environments. The overall approach of PKC is try to minimize the entry-barrier of automated workflow and create an inclusive field of growth driven by Moore's Law. The system design work of PKC will try to follow principles presented in the book: Specifying Systems[9].
Goal
Create a basic set of services, files, and page content to help individuals operate a MediaWiki website on any machine of their choosing. This will allow them to continuously work with their own data assets, independent of future changes.
Success Criteria
- Allow Individuals to install an instance of MediaWiki service by reading this PKC/Readme.md file.
- Make all textual content, executable software images, installation scripts in the public domain, so that everyone can share and use them at will.
- Provide instructions to learn about how to use PKC in the initial MediaWiki's database, so that people can start learning to use PKC through their own instance of MediaWiki.
Required Resources
- A computer[10] that you have access to its "root" or "administrator" previledge.
- Operatng Systems that support Docker: Windows 10, Mac OS X Big Sur 11.2.3 and Linux.
- Under Windows 10 Environment, some VPN software might interfere with Docker's Windows Subsystem for Linux, a.k.a. Windows Subsystem for Linux (WSL), you will need to remove VPN software before installing [Docker]. In case you don't want to remvoe your VPN software, or your Docker and Bash have compatibility issues, please try to [VirtualBox PKC] solution.
- Access to the Internet during intallation time. Please try to perform the installation on a network with 10Mbps+ to the Internet. After installation, this system can operated without access to the Internet.
- Relevant software implementation examples and architectural patterns in the field of Knowledge Management
Installation Procedure/Implementation Process
- Installation must be conducted by a person who possess the root password of the target machine. When it starts installing, root password needs to be provided in a command line interface (CLI).
- You will need Git, the software installed on your machine. You may follow the instructions on Git Software Installation and Download.
- Install Docker, the Installation instructions and downloadable files can be found here: https://docs.docker.com/get-started/
- After the success of Docker installation, launch a terminal application, or often called command line interface (CLI)interface, move your working directory using the command
cd
", meaning change your working directory, to a directory in your file system. For Mac OS X and Linux operating systems, Terminal applications are bundled during installation. For Windows 10 PKC Installation, please refer to this page.
Assume the directory you keep your working files is called: Workspace
, your terminal application/command line interface (CLI) should present a prompt, similar to the following format: (your environment might also display machine name and user name along with the working directory name)
~/userName/Workspace$
Download the entire package using git
. You may copy the instruction as follows:
~/userName/Workspace$ git clone https://github.com/xlp0/PKC.git
- After the
git clone
instruction copied relevant data to your working directory, using the command cd
to the PKC directory that contains the script up.sh
, and type: ./up.sh
to execute the script.(If you are running Windows machine, just type:.\up.bat
or just up
.)
~/userName/Workspace$ cd PKC
~/userName/Workspace/PKC$ ./up.sh
- After you submitted the
./up.sh
in your command line interface, you will be asked for a password, type in the root password for the machine you are trying to install.
- Depends on your network connection, this process will download around 5GB of data, so that it will take a while.
- Open a browser: type the following URL to the browser's URL field: http://localhost:9352.
- In case you need to have administrator access, use
Admin
as user name, and metalanguage
as password.
- If you plan to set up https for your PKC, please refer to the page:Nginx as Reverse Proxy.
Expected Outcome
- Every 30 minutes, all the changes you made to your local instance of MediaWiki will be automatically backed up to the directory's "backup/" sub-directory.
- The textual content stored in MediaWiki's database can will be stored in an XML file: XLPLATEST.xml
- All the uploaded files, assuming the file names are accepted by the host operating system, will be dumped to the "backup/MediaFile/" sub-directory.
- New applications and data processing patterns can be defined by PageFlow
Boundary Conditions
- We can not warrant any reliability, completeness, and accuracy of this installation procedure. Any action you take upon this information and execute this script is at your own risk, We will not be liable for any losses and damages in connection to the use of the actions and software prescribed here.
- We have only tested on a small number of machines and configurations, your mileage may vary.
- Do not remove any of the files in the directory with
backup/
, such as docker-compose.yml
and the LocalSettings.php
. These files are the configuration files for Docker and MediaWiki respectively. Missing them, this system will cease to work.
- Many pre-defined parameters can be replaced in the .env file stored in the PKC directory. It allows flexible configuration of your system. For more information, please read Configure your own PKC instance.
- For the sake of reducing typos, the project has moved from https://github.com/xlp0/PersonalKnowledgeContainer to https://github.com/xlp0/PKC. For the current implementation of Github, these two git repository names point to the same source. When GitHub change this practice, it will change. We recommend you to use the shorter version.
Slide Show
For a slide show on PKC, please see this following slide set:
{{#widget:Google Presentation|docid= 18ZArxRn0FuQPLcAIkXeNxOsZFyrnLR1ncdkqTm6TqVk |size=medium}}
References
- ↑ PKC (Github Project, URL: https://github.com/xlp0/PKC
- ↑ Benkler, Yochai (Apr 22, 2008). Yochai Benkler: Open-source economics. local page: TED.
- ↑ Encyclosphere. (2022, April 6). PKC Media Wiki, . Retrieved 03:24, April 26, 2022 from https://www.pkc.pub/index.php?title=Encyclosphere&oldid=29070.
- ↑ https://www.bmc.com/blogs/microservices-architecture/
- ↑ Skaf-Molli, Hala; Canals, G ́erˆome; Molli, Pascal (2010). DSMW: Distributed Semantic MediaWiki (PDF). Part II. Berlin Heidelberg: Springer-Verlag. p. 26–430.
- ↑ Koren, Yaron (2020). Working with MediaWiki (2nd ed.). local page: WikiWorks Press. ISBN 978-1540761149.
- ↑ https://www.mediawiki.org/wiki/Meza
- ↑ MediaWiki Manual:Installation Guide. local page: WikiMedia. Jan 8, 2022.
- ↑ Lamport, Leslie (2020). Specifying Systems: The TLA+ Language and Tools for Hardware and Software Engineers. local page: Addison Wesley. ISBN 0-321-14306-X.
- ↑ Delaney, Jeff (Jan 15, 2021). Raspberry Pi versus AWS // How to host your website on the RPi4. local page: Fireship.
Related Pages
Start datetime= 11 24, 2024