Open bourgeoa opened 3 years ago
Detail of a simple script to execute point 3
A simulation on the backup at /mnt/volume_lon1_03/solidcommunity.net/data
took 1h 20
*********
* check that the destination filename do not exist
* index1.html exists in 2 pods
* index_1.html do not exist
*********
root@solidcommunity:~# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -name index1.html
/mnt/volume_lon1_01/solid.community/sebbon.solidcommunity.net/index1.html
/mnt/volume_lon1_01/solid.community/bourgeoa.solidcommunity.net/index1.html
root@solidcommunity:~# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -name index_1.html
root@solidcommunity:~#
*********
* pod count
**********
root@solidcommunity:~# find /mnt/volume_lon1_01/solid.community -maxdepth 1 -type d | wc -l
57954
*********
* podRoot/index.html count
*********
root@solidcommunity:~# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index.html | wc -l
50006
*********
* rename filename index.html to index_1.html
*********
root@solidcommunity:~# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index.html -exec rename -n -d 's/.html/_1.html/' '{}' \;
-n, --nono No action: print names of files to be renamed, but don't rename -d, --filename, --nopath, --nofullpath Do not rename directory: only rename filename component of path.
57,954 pods? Wow!
Script looks fine to me.
I have 10% of those pods
@bourgeoa do you want the username for all of those? lol just joking but, i do have that many at least
Here's a first pass at a public announcement. Edit at will!
After months of work, a new SolidOS Databrowser - the frontend for solidcommunity.net - is about to be released. SolidOS, the Solid operating system built into the Databrowser, provides
The new changes bring solidcommunity.net, the Databrowser, and the SolidOS software stack into line with the latest Solid OIDC specifications, making them more secure, interoperable, and forward-looking.
From a user's perspective : most will not experience any changes from the switch-over. The one exception is people who have an index.html located in the root of their pod e.g. https://you.solidcommunity.net/index.html. Previously those files were provisioned with a login button which will no longer work. So we will be running a script to change all existing index.html files in the root of pods changed to the name index_1.html. If you wish to get your index.html back, you can remove any login code and buttons from the document and then rename it back to index.html. Unfortunately, there is currently no easy way to provide a login button on a pod root index page.
From a developer's perspective : you should no longer use solid-auth-client as your authentication library. Instead use Inrupt's solid-client-authn-browser.
The changes in SolidOS and solidcommunity.net are the work of an active open source team working with an independent contractor hired by Inrupt specifically for this upgrade. The open source team actively welcomes collaborators. Please visit our team homepage at [link to SolidOS]. Please also let us know about any issues or suggestions [link to issue].
After months of work, a new SolidOS Databrowser - the frontend for solidcommunity.net - is about to be released. SolidOS, the Solid operating system built into the Databrowser, provides
The new changes bring solidcommunity.net, the Databrowser, and the SolidOS software stack into line with the latest Solid OIDC specifications, making them more secure, interoperable, and forward-looking.
From a user's perspective : most will not experience any changes from the switch-over. The one exception is people who have an index.html located in the root of their pod e.g. https://you.solidcommunity.net/index.html. Previously those files were provisioned with a login button which will no longer work. So we will be running a script to change all existing index.html files in the root of pods changed to the name index_1.html. If you wish to get your index.html back, you can remove any login code and buttons from the document and then rename it back to index.html. Unfortunately, there is currently no easy way to provide a login button on a pod root index page.
From a developer's perspective : you should no longer use solid-auth-client as your authentication library. Instead use Inrupt's solid-client-authn-browser. The entire SolidOS software stack now works with the Inrupt library.
The changes in SolidOS and solidcommunity.net are the work of an active open source team working with an independent contractor hired by Inrupt specifically for this upgrade. The open source team actively welcomes collaborators. Please visit our team homepage at [link to SolidOS]. Please also let us know about any issues or suggestions [link to issue].
P.S. For those of you with pods on other pod-providers, you can use the SolidOS Databrowser as a stand-alone web app [link to browse.html] or a local desktop app [link to Data Kitchen].
Thank you Jeff for starting this off. As follows my suggestion on the release note. Feel free to edit it further.
After months of work, a new SolidOS version is about to be released. SolidOS comes in two flavours:
This release is focused on security and it makes the code stack Solid-OIDC specification compliant.
Impact:
The changes in SolidOS and solidcommunity.net are the work of an active open source team. The open source team actively welcomes collaborators. Please visit our project GitHub [link to SolidOS readme] for more information. For any concerns, issues or suggestions chat with the SolidOS team over at gitter or create a [git issue](maybe https://github.com/solid/solidos/issues).
I have a few comments :
After months of work, a new SolidOS databrowser - the frontend for solidcommunity.net - is about to be released. SolidOS, the Solid operating system, provides
The change bring NSS, the SolidOS and dependencies into line with the latest Solid-OIDC specification, making them more secure, interoperable, and forward-looking.
SolidOS comes in 3 flavours :
This release is focused on security and it makes the code stack Solid-OIDC specification compliant.
The solid-auth-client library was replaced by the inrupt/solid-client-authn-js The exact work can be followed on this git issue As a developer, instead of using the solid-auth-client library use inrupt/solid-client-authn-js in your developments.
https://solidcommunity.net Pod owners with an index.html file located in the root of their Pod (ex: https://user.solidcommunity.net/index.html), your first page on the Pod will change. Previously the index.html file was provisioned with a login button which will no longer work due to the authentication library upgrade. Upon release, we will be running a server script to rename all existing index.html files in the root of Pods to index_1.html. If you wish to get your index.html back, you can remove any login code and buttons from the document and then rename it back to index.html. Unfortunately, there is currently no easy way to provide a login button on a pod root index page.
The changes in SolidOS and solidcommunity.net are the work of an active open source team. The open source team actively welcomes collaborators. Please visit our project GitHub [link to SolidOS readme] for more information. For any concerns, issues or suggestions chat with the SolidOS team over at gitter or create a [git issue](maybe https://github.com/solid/solidos/issues).
reopened. it was a mistake sorry
Great improvements so far, I think we are close to a final version.
P.s. I like the title. Thanks for the versions. Also I did not know about the 3rd flavour. #neverStopLearningSolid ☺️
point 1 : agreed "Databrowser, and the SolidOS software stack" either replaced with "SolidOS and dependencies" or simply `SolidOS' point 2 : a bit too much. It's a fact. We can make more messages to detail things if there are questions point 3 : can you make a proposal for discrepencies point 4 : yes and no. Actually yes integration for NSS and CSS. For other solid servers : Yes for the solidOS webapp, integration must be provided. That's why webapp is important.
(changes directly edited in the above text)
Thanks @bourgeoa . Trying to combine everything in one here. The description of SolidOS is copy paste from the vision (https://solidos.solidcommunity.net/Team/docs/SolidOSNorthStar.html). Here is the proposed up to date version:
After months of work, a new SolidOS and NSS version is about to be released.
------ version with what SolidOS is --------- SolidOS, the Solid operating system, is showcasing the possibility of Solid for the future, and we mean:
SolidOS comes in 3 flavours :
This release is focused on security and it makes the code stack Solid-OIDC specification (https://github.com/solid/solid-oidc) compliant.
The changes in SolidOS and solidcommunity.net are the work of an active open source team. The open source team actively welcomes collaborators. Please visit our project on GitHub at https://github.com/solid/solidos/blob/main/README.md for more information. For any concerns, issues or suggestions chat with the SolidOS team over at gitter (https://gitter.im/solid/solidos) or create a [git issue](maybe https://github.com/solid/solidos/issues).
@theRealImy I much prefer @jeff-zucker version. Yours is technical and not so much user oriented you also lost some links If you want we can add a link to NorthStar, but not sure it is relevant
- It is confusing to me what the naming convention is: SolidOS, SolidOS Data Browser, SolidOS Databrowser ... I do not mind which it is, as long as we are consistent in all our documentation about it.
This is how I see it :
Since rdflib is the dependency of 693 other libraries/apps, amd solid-ui of 50, this usage of the software stack is in the wild and is an important role of the software. I use "the Databrowser" or "the SolidOS Databrowser" when I am talking about the app and "SolidOS" or "the SolidOS software stack" when I am talking about the software libraries used to build the app.
@jeff-zucker @theRealImy Could you agree to this as reference release text. https://github.com/solid/solidcommunity.net/issues/59#issuecomment-947505139 From your last comment @jeff-zucker shall we leave "SolidOS and dependencies" or do you prefer "SolidOS databrowser"
My thoughts on https://github.com/solid/solidcommunity.net/issues/59#issuecomment-947505139 :
Data ownership, avoiding vendor lock-in, and data reuse are the goals of the entire Solid Project. Every software in the Solid ecosystem should be striving for those. Most people in the forum understand that these are the goals of Solid. Listing these goals will not be new information for most people. Many people in the forum however do not understand what role SolidOS and the databrowser play in that ecosystem. Many think of the databrowser as a simple file explorer and are unaware of its semantic navigation and app creation features.
So this is my current draft.
Please note : If you have a pod on solidcommunity.net, be sure to read the impact on users section below.
After months of work, a new SolidOS is about to be released. SolidOS, the Solid operating system, comes in four flavors :
SolidOS, in all of its flavors, provides pod navigation and management tools; semantic views of all data; productivity apps like notepads, and task-mangers; and collaboration apps like chat apps and meeting schedulers. All features have the aim of supporting the core Solid vision - user control, freedom from vendor lock-in, and re-usability of data.
This release is focused on security and it makes the code stack Solid-OIDC specification compliant. All code using solid-auth-client was replaced by code using @inrupt/solid-client-authn. The release also includes improvements to handling of Javascript, JSON-LD, and a variety of bug-fixes and UI improvements. See this list of upgrade issues for details. For reference : the releases are SolidOS v1.7.7 and NSS (Node solid-server) v5.6.12.
The release impacts users of solidcommunity.net, developers using the SolidOS software stack, and pod providers who use NSS.
Owners of Pods on solidcommunity.net with an index.html file located in the root of their Pod (ex: https://user.solidcommunity.net/index.html) : your first page on the Pod will change. Previously the index.html file was provisioned with a login button which will no longer work due to the authentication library upgrade. Upon release, we will be running a server script to rename all existing index.html files in the root of Pods to index_1.html. If you wish to get your index.html back, you can remove any login code and buttons from the document and then rename it back to index.html. Unfortunately, there is currently no easy way to provide a login button on a pod root index page.
Developers who use the SolidOS stack (mashlib, solid-panes, solid-ui, solid-logic, rdflib) should be aware that these libraries have all switched to using Inrupt's solid-client-authn instead of solid-auth-client.
As mentioned above under impacts on users, index.html pages with login buttons will no longer work. You should contact us to get a script to rename these files and warn your users before installing the new NSS.
The changes in SolidOS, NSS, and solidcommunity.net are the work of an active open source team led by Sir Tim Berners-Lee. The open source team actively welcomes collaborators. Please visit our project pod or our GitHub repo for more information. For any concerns, issues or suggestions chat with the SolidOS team in the gitter chatroom or create a git issue.
-status
index.html
to index_1.html
making it privateexamples of existing ACL for the https://trainwreck.solidcommunity.net pod
root@solidcommunity:/mnt/volume_lon1_03/solidcommunity.net/data/trainwreck.solidcommunity.net# cat .acl
# Root ACL resource for the user account
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
<#owner>
a acl:Authorization;
acl:agent <https://trainwreck.solidcommunity.net/profile/card#me> ;
# Optional owner email, to be used for account recovery:
acl:agent <mailto:prisco1123@yahoo.com>;
# Set the access to the root storage folder itself
acl:accessTo </>;
# All resources will inherit this authorization, by default
acl:defaultForNew </>;
# The owner has all of the access modes allowed
acl:mode
acl:Read, acl:Write, acl:Control.
# Data is private by default; no other agents get access unless specifically
# authorized in other .acls
root@solidcommunity:/mnt/volume_lon1_03/solidcommunity.net/data/trainwreck.solidcommunity.net# ^C
root@solidcommunity:/mnt/volume_lon1_03/solidcommunity.net/data/trainwreck.solidcommunity.net# cat index.html.acl
@prefix acl: <http://www.w3.org/ns/auth/acl#>.
@prefix foaf: <http://xmlns.com/foaf/0.1/>.
<#owner>
a acl:Authorization;
acl:agent
<https://trainwreck.solidcommunity.net/profile/card#me>;
acl:accessTo </index.html>;
acl:mode
acl:Read, acl:Write, acl:Control.
<#public>
a acl:Authorization;
acl:agentClass foaf:Agent; # everyone
acl:accessTo <./index.html>;
acl:mode acl:Read.
root@solidcommunity:/mnt/volume_lon1_03/solidcommunity.net/data/trainwreck.solidcommunity.net#
proposed solution
find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index.html.acl -exec rename -n -d 's/.html/_1.html/' '{}' \;
find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index_1.html -exec sed -i 's+</index.html>+</index_1.html>+g' {} +
{} is the receptacle of the find : here : index_1.html sed uses + (cannot use / here) or can be nearly any 1 bit character even space (not some confusing | or \ for example) is the last + correct or \; (escaped;) : verified, yes they are I still need to make a test somewhere (on my own pod or on my server)
*** stats results on solidcommunity.net server***
root@solidcommunity:/mnt/volume_lon1_01/solid.community# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index_1.html.acl | wc -l
0
root@solidcommunity:/mnt/volume_lon1_01/solid.community# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index_1.html | wc -l
49989
root@solidcommunity:/mnt/volume_lon1_01/solid.community# find /mnt/volume_lon1_01/solid.community -maxdepth 2 -mindepth 2 -name index.html.acl | wc -l
49446
root@solidcommunity:/mnt/volume_lon1_01/solid.community#
Timea @theRealImy Feb 02 15:23 aclCopy.sh this is my script, not sure it works cleanly on linux
There are different ways to solve this problem :