User Tools

Site Tools


f1x

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
f1x [2024/12/24 16:00] arief1x [2025/02/16 22:47] (current) arie
Line 1: Line 1:
-====== F1x Documentation ======+====== F1x platform ======
  
-The F1x project was invented to overcome psychological barrier of additional actions required to write and maintain documentation.+//Librerate data from software silos!//
  
-It is based on system of aliases that notify F1x server about context the user is in. A F1x window would then allow on-the-spot editing of documentation associated with the context.+"F1xis decentralized platform for data sharing, microapps and builtin publish-subscribe to facilitate data and people discovery.
  
-===== Normal wiki pages =====+===== History and similar projects =====
  
-Besides serving as F1memos storage, the wiki contains other information pieces. The only way to find them is using search by keywordsSo please think carefully about which keywords the next guy is going to use to find your page.+Technically it is much easier to create centralized data sharing. Corporations love centralization (GMailFacebook, Office365, etc) as it gives them control over the [[https://en.wikipedia.org/wiki/Information_silo|information silo]] and ways to monetize itDecentralized projects (IPFS, Mastodon, Diaspora, XMPP federation) struggle to gain traction without funding.
  
-You can start by reading list of existing [[https://f1xwiki.catchmedia.com/doku.php?id=start&do=index|page names]].+Previous attempt of Arie is [[http://wiki4ska4hanet.gendoc.catchmedia.com/|Hanet]].
  
-===== What is context =====+\\ 
 +Data structure is inspired by [[https://en.wikipedia.org/wiki/Project_Xanadu|Project Xanadu]] and [[https://en.wikipedia.org/wiki/ZigZag_(software)|ZigZag data models]].
  
-Context tag is string that uniquely defines activity the user is doing at the moment. It might be server/path the user is currently in. Later on we can use other means to identify the activity (screen OCR, F1x-aware apps/breadcrumbs, inotify on files being opened, etc).+  * [[:f1x:usecases|Use Cases]] 
 +  * [[:f1x:architecture|Architecture]] 
 +  * [[:f1x:technicals|Tehnicals]] 
 +  * [[:f1x:development|Development]]
  
-The "context switch" then causes associated documentation to show up in F1x help window, enabling user to view or edit it. 
- 
-===== Examples of context ID ===== 
- 
-  * Get into directory of a server: ``CHDIR|hungama-ingestion:/opt/tmp_14days`` 
-  * ssh into a server: ``SERVER:bas1`` 
-  * execute a command: ``CMD:dap2:/opt/mysql_reports_sdemo:dcmy`` 
- 
-===== Contexts Documentation Storage ===== 
- 
-Piece of documentation for a context is called "F1x memo". 
- 
-Initially F1x memos are stored in the wiki, as stepping stone on a path to full-fledged F1x memos store. Backend dokuwiki engine provides important out-of-the-box capabilities, such as authentication, using browser to edit F1x memos, builtin markup language, search. 
- 
-F1x memo reference is also called F1x context or simply context. It has format "COMPANY:Level1,Level2...", case insensitive. 
- 
-===== F1x backend and frontend ===== 
- 
-During POC, frontend is JS-enabled website window that user can switch to easily (for example using F1 button). It has functions below: 
-  * Authenticate users 
-  * Receive updates from Backend about context switches 
-  * Open wiki page for given context in iframe 
- 
-Backend receives context switches from "agents" and sends them to corresponding Frontend session. 
- 
-[[f1x:frontend:future_ideas|Ideas on Frontend improvement]] 
- 
-===== Context switch collection ===== 
- 
-==== ssh ==== 
- 
-F1x backend must be aware about context switches of many users so to send appropriate messages to F1x frontend. For ssh sessions and commands we employ scheme below: 
- 
-  - User does ssh into master using his username. Script .bashrc defines LC_F1USER environment variable 
-  - ssh command is actually alias that sens environment variable LC_F1USER along, like this:<code> 
-export LC_F1USER=skliarie@gmail.com; ssh root@bas1.catchmedia.com -o SendEnv=LC_F1USER 
-</code> 
-  - The environment variable becomes visible on the target server, thanks to allowance in sshd_config for all LC_* vars:<code> 
-root@bas1:~# grep LC_ /etc/ssh/sshd_config 
-AcceptEnv LANG LC_* 
-</code> 
-  - .bashrc script creates /tmp/f1x/tmp/PID file with content of $LC_F1USER. F1daemon watches the directory (using inotify) on tries to figure out the context, using /proc/$$/cwd symlink, pstree and other heuristics. 
-  - Successfully recognized context switches are sent to backend (using redis-ops pubsub for now) 
- 
-==== browser ==== 
- 
-There might be browser add-on, that will detect [[https://stackoverflow.com/questions/11594576/getting-current-browser-url-in-firefox-addon|newly opened URLs]] and report them to F1x server for analysis and possible context matching. 
- 
-==== native apps ==== 
- 
-//The feature is for startup-stage//. A native desktop agent identifies contexts in native apps based on various heuristics and reports them to F1x server for analysis and possible context matching. 
  
f1x.1735056014.txt.gz · Last modified: 2024/12/31 08:55 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki