This commit is contained in:
nobody 2020-08-09 18:08:40 -07:00
parent 8d58e09a37
commit a5666f0a7a
13 changed files with 87 additions and 10 deletions

View file

@ -1,7 +1,7 @@
Federation Federation
========== ==========
The ActivityPub implementation in Zap strives to be compliant to the core spec where possible, while offering a range of services and features which normally aren't provided by ActivityPub projects. The ActivityPub implementation in this project strives to be compliant to the core spec where possible, while offering a range of services and features which normally aren't provided by ActivityPub projects.
Direct Messages Direct Messages
@ -25,7 +25,7 @@ Groups may be public or private. The initial thread starting post to a group is
Comments Comments
Zap provides permission control and moderation of comments. By default comments are only accepted from existing connections. This can be changed by the individual. Other sites MAY use zot:commentPolicy (string) as a guide if they do not wish to provide comment abilities where it is known in advance they will be rejected. A Reject/Note activity will be sent if the comment is not permitted. There is currently no response for moderated content, but will likely also be represented by Reject/Note. This project provides permission control and moderation of comments. By default comments are only accepted from existing connections. This can be changed by the individual. Other sites MAY use zot:commentPolicy (string) as a guide if they do not wish to provide comment abilities where it is known in advance they will be rejected. A Reject/Note activity will be sent if the comment is not permitted. There is currently no response for moderated content, but will likely also be represented by Reject/Note.
'commentPolicy' can be any of 'commentPolicy' can be any of
@ -54,12 +54,12 @@ Private media MAY be accessed using OCAP or OpenWebAuth.
Permission System Permission System
The Zot permission system has years of historical use and is different than and the reverse of the typical ActivityPub project. We consider 'Follow' to be an anti-pattern which encourages pseudo anonymous stalking. A Follow activity by a Zap actor typically means the Zap actor will send activities to the recipient. It may also confer other permissions. Accept/Follow usually provides permission to receive content from the referenced actor, depending on their privacy settings. The Zot permission system has years of historical use and is different than and the reverse of the typical ActivityPub project. We consider 'Follow' to be an anti-pattern which encourages pseudo anonymous stalking. A Follow activity by an actor on this project typically means the actor on this project will send activities to the recipient. It may also confer other permissions. Accept/Follow usually provides permission to receive content from the referenced actor, depending on their privacy settings.
Delivery model Delivery model
Zap uses the relay system pioneered by projects such as Friendica, Diaspora, and Hubzilla which attempts to keep entire conversations intact and keeps the conversation initiator in control of the privacy distribution. This is not guaranteed under ActivityPub where conversation members can cc: others who were not in the initial privacy group. We encourage projects to not allow additional recipients or not include their own followers in followups. Followups SHOULD have one recipient - the conversation owner or originator, and are relayed by the owner to the other conversation members. This normally requires the use of LD-Signatures but may also be accessible through authenticated fetch of the activity using HTTP signatures. This project uses the relay system pioneered by projects such as Friendica, Diaspora, and Hubzilla which attempts to keep entire conversations intact and keeps the conversation initiator in control of the privacy distribution. This is not guaranteed under ActivityPub where conversation members can cc: others who were not in the initial privacy group. We encourage projects to not allow additional recipients or not include their own followers in followups. Followups SHOULD have one recipient - the conversation owner or originator, and are relayed by the owner to the other conversation members. This normally requires the use of LD-Signatures but may also be accessible through authenticated fetch of the activity using HTTP signatures.
Content Content

View file

@ -31,7 +31,7 @@ class System {
if(is_array(App::$config) && is_array(App::$config['system']) && array_key_exists('icon',App::$config['system'])) { if(is_array(App::$config) && is_array(App::$config['system']) && array_key_exists('icon',App::$config['system'])) {
return App::$config['system']['icon']; return App::$config['system']['icon'];
} }
return z_root() . '/images/z1-64.png'; return z_root() . '/images/' . PLATFORM_NAME . '-64.png';
} }
@ -68,13 +68,13 @@ class System {
static public function get_project_link() { static public function get_project_link() {
if(is_array(App::$config) && is_array(App::$config['system']) && App::$config['system']['project_link']) if(is_array(App::$config) && is_array(App::$config['system']) && App::$config['system']['project_link'])
return App::$config['system']['project_link']; return App::$config['system']['project_link'];
return 'https://zotlabs.com/zap'; return 'https://zotlabs.com/' . PLATFORM_NAME';
} }
static public function get_project_srclink() { static public function get_project_srclink() {
if(is_array(App::$config) && is_array(App::$config['system']) && App::$config['system']['project_srclink']) if(is_array(App::$config) && is_array(App::$config['system']) && App::$config['system']['project_srclink'])
return App::$config['system']['project_srclink']; return App::$config['system']['project_srclink'];
return 'https://codeberg.org/zot/zap'; return 'https://codeberg.org/zot/' . PLATFORM_NAME;
} }
static public function get_server_role() { static public function get_server_role() {

View file

@ -179,7 +179,7 @@ class Setup extends Controller {
$o = ''; $o = '';
$wizard_status = ''; $wizard_status = '';
$install_title = t('Zap Server - Setup'); $install_title = t('$Projectname Server - Setup');
if(x(App::$data, 'db_conn_failed')) { if(x(App::$data, 'db_conn_failed')) {
$this->install_wizard_pass = 2; $this->install_wizard_pass = 2;

BIN
images/misty-32.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

BIN
images/misty-64.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

BIN
images/misty.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

77
images/misty.svg Normal file
View file

@ -0,0 +1,77 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="600.00006"
height="599.99976"
version="1.1"
id="svg821"
sodipodi:docname="misty.svg"
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
inkscape:export-filename="/home/workshop/Downloads/misty-600.png"
inkscape:export-xdpi="96.000038"
inkscape:export-ydpi="96.000038">
<metadata
id="metadata827">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs825" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1187"
inkscape:window-height="925"
id="namedview823"
showgrid="false"
inkscape:zoom="1.7458333"
inkscape:cx="320.00008"
inkscape:cy="-390.93054"
inkscape:window-x="230"
inkscape:window-y="82"
inkscape:window-maximized="0"
inkscape:current-layer="svg821"
showguides="false" />
<!-- Created with SVG-edit - https://github.com/SVG-Edit/svgedit-->
<g
id="g833"
transform="matrix(2.7906975,0,0,4.9315043,-819.11855,-948.61869)"
inkscape:export-xdpi="273.95932"
inkscape:export-ydpi="273.95932">
<g
id="g819"
class="layer">
<title
id="title815">Layer 1</title>
<path
style="fill:#007f00;stroke:#000000;stroke-width:5"
inkscape:connector-curvature="0"
id="svg_1"
d="m 431.76337,194.85889 c -20.14198,0 -37.43068,10.44542 -45.89319,25.52487 -3.37989,-1.88694 -7.1079,-3.02947 -11.08656,-3.02947 -12.03161,0 -22.04362,9.6789 -25.13812,22.81769 -5.28192,-2.08773 -11.42333,-3.35175 -17.98343,-3.35175 -19.6803,0 -35.64457,10.76779 -35.64457,24.04236 0,11.98256 13.09282,21.83333 30.1013,23.65562 -0.7623,1.29338 -1.3536,2.57418 -1.3536,3.93186 0,12.70969 34.82085,23.0755 77.73482,23.0755 42.91397,0 77.73486,-10.36581 77.73482,-23.0755 0,-0.85515 -0.53078,-1.61831 -0.83794,-2.44936 1.87964,0.46744 3.74075,0.96686 5.80111,0.96686 11.48014,3e-5 20.81952,-7.80044 20.81952,-17.40332 0,-9.60289 -9.33938,-17.40332 -20.81952,-17.40332 -1.40686,0 -2.60313,0.48595 -3.93186,0.70903 1.16184,-3.83972 1.93369,-7.75764 1.93369,-11.9245 0,-25.41936 -23.00938,-46.08655 -51.43645,-46.08655 z" />
<path
style="fill:#ffffff;stroke:#000000;stroke-width:5"
inkscape:connector-curvature="0"
id="svg_2"
d="m 426.80387,219.16665 c -15.92176,0 -29.58806,7.22226 -36.27748,17.64862 -2.67172,-1.30468 -5.61862,-2.09466 -8.76366,-2.09466 -9.5107,0 -17.42496,6.69227 -19.87109,15.7768 -4.17523,-1.44351 -9.02987,-2.31749 -14.21547,-2.31749 -15.55681,0 -28.17618,7.44516 -28.17618,16.62358 0,8.28508 10.34956,15.09618 23.79436,16.35617 -0.60258,0.89427 -1.06999,1.77986 -1.06999,2.7186 0,8.78784 27.52505,15.95506 61.44753,15.95506 33.92247,0 61.44756,-7.16722 61.44752,-15.95506 0,-0.59128 -0.41956,-1.11895 -0.66237,-1.69356 1.48581,0.3232 2.95698,0.66851 4.58564,0.66851 9.07478,3e-5 16.45734,-5.39344 16.45734,-12.03315 0,-6.63971 -7.38256,-12.03315 -16.45734,-12.03315 -1.11209,0 -2.05772,0.336 -3.10804,0.49024 0.91841,-2.65489 1.52854,-5.36385 1.52854,-8.24494 0,-17.57567 -18.18837,-31.86556 -40.6593,-31.86556 z" />
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

Before

Width:  |  Height:  |  Size: 3.9 KiB

After

Width:  |  Height:  |  Size: 3.9 KiB

View file

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View file

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

View file

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View file

@ -99,7 +99,7 @@ function get_feed_for($channel, $observer_hash, $params) {
$atom .= replace_macros($feed_template, array( $atom .= replace_macros($feed_template, array(
'$version' => xmlify(Zotlabs\Lib\System::get_project_version()), '$version' => xmlify(Zotlabs\Lib\System::get_project_version()),
'$generator' => xmlify(Zotlabs\Lib\System::get_platform_name()), '$generator' => xmlify(Zotlabs\Lib\System::get_platform_name()),
'$generator_uri' => 'https://codeberg.org/zot/zap', '$generator_uri' => 'https://codeberg.org/zot/' . PLATFORM_NAME,
'$feed_id' => xmlify($channel['xchan_url']), '$feed_id' => xmlify($channel['xchan_url']),
'$feed_title' => xmlify($channel['channel_name']), '$feed_title' => xmlify($channel['channel_name']),
'$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now', ATOM_TIME)), '$feed_updated' => xmlify(datetime_convert('UTC', 'UTC', 'now', ATOM_TIME)),

View file

@ -1431,7 +1431,7 @@ function deliverable_singleton($channel_id,$xchan) {
function get_repository_version($branch = 'release') { function get_repository_version($branch = 'release') {
$path = "https://codeberg.org/zot/zap/raw/$branch/boot.php"; $path = "https://codeberg.org/zot/" . PLATFORM_NAME . '/raw/$branch/boot.php";
$x = z_fetch_url($path); $x = z_fetch_url($path);
if($x['success']) { if($x['success']) {