diff --git a/boot.php b/boot.php index 6da885117..5994b2030 100644 --- a/boot.php +++ b/boot.php @@ -18,7 +18,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_CODENAME', 'Lily of the valley'); define ( 'FRIENDICA_VERSION', '3.4.0' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1182 ); +define ( 'DB_UPDATE_VERSION', 1184 ); define ( 'EOL', "
\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); @@ -1695,7 +1695,6 @@ if(! function_exists('profile_sidebar')) { if($a->theme['template_engine'] === 'internal') $location = template_escape($location); - $tpl = get_markup_template('profile_vcard.tpl'); $o .= replace_macros($tpl, array( '$profile' => $p, diff --git a/database.sql b/database.sql index 8babeb4d4..ab597825c 100644 --- a/database.sql +++ b/database.sql @@ -1,6 +1,6 @@ -- ------------------------------------------ --- Friendica 3.4.0 (Ginger) --- DB_UPDATE_VERSION 1182 +-- Friendica 3.4.0 (Lily of the valley) +-- DB_UPDATE_VERSION 1183 -- ------------------------------------------ @@ -140,6 +140,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( `uri-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `avatar-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `term-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `last-item` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `priority` tinyint(3) NOT NULL DEFAULT 0, `blocked` tinyint(1) NOT NULL DEFAULT 1, `readonly` tinyint(1) NOT NULL DEFAULT 0, diff --git a/doc/Account-Basics.md b/doc/Account-Basics.md index 91e19b649..ef6a13f22 100644 --- a/doc/Account-Basics.md +++ b/doc/Account-Basics.md @@ -3,71 +3,96 @@ Account Basics * [Home](help) +Registration +--- -**Registration** +Not all Friendica sites allow open registration. +If registration is allowed, you will see a "Register" link immediately below the login prompt on the site home page. +Following this link will take you to the site registration page. +The strength of our network is that lots of different sites are all completely compatible with each other. +If the site you're visting doesn't allow registration, or you think you might prefer another one, you can find a [list of public servers here](http://dir.friendica.com/siteinfo), and find one that meets your needs. -Not all Friendica sites allow open registration. If registration is allowed, you will see a "Register" link immediately below the login prompts on the site home page. Following this link will take you to the site registration page. The strength of our network is that lots of different sites are all completely compatible with each other. If the site you're visting doesn't allow registration, or you think you might prefer another one, you can find a list of public servers here, and find one that meets your needs. +If you'd like to have your own server, you can do that too. +Visit [the Friendica website](http://friendica.com/download) to download the code with setup instructions. +It's a very simple installation process that anybody experienced in hosting websites, or with basic Linux experience can handle easily. -If you'd like to have your own server, you can do that too. Visit the Friendica website to download the code with setup instructions. It's a very simple install process that anybody experienced in hosting websites, or with basic Linux experience can handle easily. +###OpenID + +The first field on the Registration page is for an OpenID address. +If you do not have an OpenID address or do not wish to use OpenID, leave this field blank. +If you have an OpenID account elsewhere and wish to use it, enter the address into this field and click 'Register'. +Friendica will attempt to extract as much information as possible from your OpenID provider and return to this page with those items already filled in. + +###Your Full Name + +Please provide your full name **as you would like it to be displayed on this system**. +Most people use their real name for this, but you're under no obligation to do so yourself. + +###Email Address + +Please provide a valid email address. +Your email address is **never** published. +We need this to send you account information and your login details. +You may also occasionally receive notifications of incoming messages or items requiring your attention, but you have the possibility to completely disable these from your Settings page once you have logged in. +This doesn't have to be your primary email address, but it does need to be a real email address. +You can't get your initial password, or reset a lost password later without it. +This is the only bit of personal information that has to be accurate. + +###Nickname + +A nickname is used to generate web addresses for many of your personal pages, and is also treated like an email address when establishing communications with others. +Due to the way that the nickname is used, it has some limitations. +It must contain only US-ASCII text characters and numbers, and must also start with a text character. +It also must be unique on this system. +This is used in many places to identify your account, and once set - cannot be changed. -*OpenID* +###Directory Publishing -The first field on the Registration page is for an OpenID address. If you do not have an OpenID address or do not wish to use OpenID, leave this field blank. If you have an OpenID account elsewhere and wish to use it, enter the address into this field and click 'Register'. Friendica will attempt to extract as much information as possible from your OpenID provider and return to this page with those items already filled in. +The registration form also allows you to choose whether or not to list your account in the online directory. +This is like a "phone book" and you may choose to be unlisted. +We recommend that you select 'Yes' so that other people (friends, family, etc.) will be able to find you. +If you choose 'No', you will essentially be invisible and have few opportunities for interaction. +Whichever you choose, this can be changed any time from your Settings page after you login. +###Register -*Your Full Name* +Once you have provided the necessary details, click the 'Register' button. +An email will be sent to you providing your account login details. +Please watch your email (including spam folders) for your registration details and initial password. -Please provide your full name **as you would like it to be displayed on this system**. Most people use their real name for this, but you're under no obligation to do so yourself. +Login Page +--- +On the 'Login' page, please enter your login information that was provided during registration. +You may use either your nickname or email address as a Login Name. -*Email Address* +If you use your account to manage multiple '[Pages](help/Pages)' and these all have the same email address, please enter the nickname for the account you wish to manage. -Please provide a valid email address. Your email address is **never** published. We need this to send you account information and your login details. You may also occasionally receive notifications of incoming messages or items requiring your attention, but you have the ability to completely disable these from your Settings page once you have logged in. This doesn't have to be your primary email address, but it does need to be a real email address. You can't get your initial password, or reset a lost password later without it. This is the only bit of personal information that has to be accurate. +*If* your account has been OpenID enabled, you may use your OpenID address as a login name and leave the password blank. +You will be redirected to your OpenID provider to complete your authorisation. +Otherwise, enter your password. +This will have been initially provided in your registration email message. +Your password is case-sensitive, so please check your 'Caps Lock' key if you are having difficulty logging in. -*Nickname* - -A nickname is used to generate web addresses for many of your personal pages, and is also treated like an email address when establishing communications with others. Due to the way that the nickname is used, it has some limitations. It must contain only US-ASCII text characters and numbers, and must also start with a text character. It also must be unique on this system. This is used in many places to identify your account, and once set - cannot be changed. - - -*Directory Publishing* - -The Registration form also allows you to choose whether or not to list your account in the online directory. This is like a "phone book" and you may choose to be unlisted. We recommend that you select 'Yes' so that other people (friends, family, etc.) will be able to find you. If you choose 'No', you will essentially be invisible and have few opportunities for interaction. Whichever you choose, this can be changed any time from your Settings page after you login. - - -*Register* - -Once you have provided the necessary details, click the 'Register' button. An email will be sent to you providing your account login details. Please watch your email (including spam folders) for your registration details and initial password. - - -**Login Page** - -On the 'Login' page, please enter your login information that was provided during registration. You may use either your nickname or email address as a Login Name. - -If you use your account to manage multiple '[Pages](help/Pages)' and these all have the same email address, please enter the nickname for the account you wish to manage. - -*If* your account has been OpenID enabled, you may use your OpenID address as a login name and leave the password blank. You will be redirected to your OpenID provider to complete your authorisation. - -Otherwise, enter your password. This will have been initially provided in your registration email message. Your password is case-sensitive, so please check your 'Caps Lock' key if you are having difficulty logging in. - - -**Changing Your Password** +Changing Your Password +--- After your first login, please visit the 'Settings' page from the top menu bar and change your password to something that you will remember. - -**Getting Started** +Getting Started +--- A ['Tips for New Members'](newmember) link will show up on your network and home pages for two weeks to provide some important Getting Started information. +Retrieving Personal Data +--- -**Retrieving Personal Data** +You can export a copy of your personal data in XML format from the "Export personal data" link at the top of your settings page. -You can export a copy of your personal data in XML format from the "Export personal data" link at the top of your settings page. - - -**See Also** +See Also +--- * [Profiles](help/Profiles) diff --git a/doc/Bugs-and-Issues.md b/doc/Bugs-and-Issues.md index c9f845c00..366b2ed66 100644 --- a/doc/Bugs-and-Issues.md +++ b/doc/Bugs-and-Issues.md @@ -3,11 +3,16 @@ Bugs and Issues * [Home](help) +If your server has a support page, you should report any bugs/issues you encounter there first. +Reporting to your support page before reporting to the developers makes their job easier, as they don't have to deal with bug reports that might not have anything to do with them. +This helps us get new features faster. -If your server has a support page, you should report any bugs/issues you encounter there first. Reporting to your support page before reporting to the developers makes their job easier, as they don't have to deal with bug reports that might not have anything to do with them, and that helps us get new features faster. +If you're a technical user, or your site doesn't have a support page, you'll need to use the [Bug Tracker](http://bugs.friendica.com/). +Please perform a search to see if there's already an open bug that matches yours before submitting anything. -If you're a technical user, or your site doesn't have a support page, you'll need to use the Bug Tracker. Please perform a search to see if there's already an open bug that matches yours before submitting anything. +Try to provide as much information as you can about the bug, including the **full** text of any error messages or notices, and any steps required to replicate the problem in as much detail as possible. +It's generally better to provide too much information than not enough. -Try to provide as much information as you can about the bug, including the **full** text of any error messages or notices, and any steps required to replicate the problem in as much detail as possible. It's generally better to provide too much information than not enough. +See [this article](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html) to learn more about submitting **good** bug reports. -See this article to learn more about submitting **good** bug reports. +And last but not least: Better report an issue you encountered even if you don't write the perfect bug report! diff --git a/doc/Chats.md b/doc/Chats.md index ba5a64bd8..fefc14f91 100644 --- a/doc/Chats.md +++ b/doc/Chats.md @@ -8,45 +8,64 @@ There are two possibilities to use a chat on your friendica site * IRC Chat * Jappix -##IRC-Chat Plugin +IRC-Chat Plugin +--- -After activating the plugin, you can find the chat at [yoursite.com/irc](../irc). Note: you can use this chat without any login at your site so that everyone could use it. +After activating the plugin, you can find the chat at [yoursite.com/irc](../irc). +Note: you can use this chat without any login at your site so that everyone could use it. -If you follow the link, you will see the login page of the IR chat. Now choose a nickname and a chatroom. You can choose every name for the room, even something like #superchatwhosenameisonlyknownbyme. At last, solve the captchas and click the connect button. +If you follow the link, you will see the login page of the IR chat. +Now choose a nickname and a chatroom. +You can choose every name for the room, even something like #superchatwhosenameisonlyknownbyme. +At last, solve the captchas and click the connect button. -The following window shows some text while connecting. This text isn't importend for you, just wait for the next window. The first line shows your name and your current IP address. The right part of the window shows all user. The lower part of the window contains an input field. +The following window shows some text while connecting. +This text isn't importend for you, just wait for the next window. +The first line shows your name and your current IP address. +The right part of the window shows all users. +The lower part of the window contains an input field. -##Jappix Mini +Jappix Mini +--- -The Jappix Mini Plugin creates a chatbox for jabber- and XMPP-contacts. You should already have a jabber/XMPP-account before setting up the plugin. You can find more information at http://www.jabber.org/ +The Jappix Mini Plugin creates a chatbox for jabber- and XMPP-contacts. +You should already have a jabber/XMPP-account before setting up the plugin. +You can find more information at [jabber.org](http://www.jabber.org/). -You can use several server to create an account: +You can use several servers to create an account: * [https://jappix.com](https://jappix.com) * [http://xmpp.net](http://xmpp.net) -**1. Basics** +###1. Basics -At first you have to get the current version (via github): +At first you have to get the current version. You can either pull it from [Github](https://github.com) like so: -cd /var/www/virtual/YOURSPACE/html/addon; git pull + $> cd /var/www/virtual/YOURSPACE/html/addon; git pull -or as a normal download via: https://github.com/friendica/friendica-addons/blob/master/jappixmini.tgz (click at „view raw“). +Or you can download a tar archive here: [jappixmini.tgz](https://github.com/friendica/friendica-addons/blob/master/jappixmini.tgz) (click at „view raw“). -Just unpack the file and rename the directory to „jappixmini“. Next, upload this directory and the .tgz-file into your addon directory of your friendica installation. +Just unpack the file and rename the directory to „jappixmini“. +Next, upload this directory and the .tgz-file into your addon directory of your friendica installation. -Now you can activate the plugin at the admin pages. Now you can find an entry of jappix at the plugin sidebar (where you can also find twitter, statusnet and other ones). The following page shows the settings of this plugin. +Now you can activate the plugin globally on the admin pages. +In the plugin sidebar, you will find an entry of jappix now (where you can also find twitter, statusnet and others). +The following page shows the settings of this plugin. -Now you can activate the BOSH proxy. -Next, go to the setting page of your account. +Activate the BOSH proxy. -**2. Settings** +###2. Settings -Go to the account settings and choose the plugin page. Scroll down until you find the Jappix Mini addon settings +Go to your user account settings next and choose the plugin page. +Scroll down until you find the Jappix Mini addon settings. At first you have to activate the addon. -Now add your Jabber/XMPP name, the domain/server (without "http"; just "jappix.com"). For „Jabber BOSH Host“ you could use "https://bind.jappix.com/". You can find further information in the „Configuration Help“-section below this fields. -At last you have enter your password (there are some more optional options, you can choose). Finish these steps with "send" to save the entries. Now, you should find the chatbox at the lower right corner of your browser window. +Now add your Jabber/XMPP name, the domain/server (without "http"; just "jappix.com"). +For „Jabber BOSH Host“ you could use "https://bind.jappix.com/". +You can find further information in the „Configuration Help“-section below this fields. +At last you have enter your password (there are some more optional options, you can choose). +Finish these steps with "send" to save the entries. +Now, you should find the chatbox at the lower right corner of your browser window. -If you want to add contacts manually, you can click "add contact". \ No newline at end of file +If you want to add contacts manually, you can click "add contact". diff --git a/doc/Connectors.md b/doc/Connectors.md index 08b4c135e..2b46b49c6 100644 --- a/doc/Connectors.md +++ b/doc/Connectors.md @@ -3,7 +3,9 @@ Connectors * [Home](help) -Connectors allow you to connect with external social networks and services. Connectors are only required for posting to existing accounts on Facebook, Twitter, and StatusNet. There is also a connector for accessing your email INBOX. +Connectors allow you to connect with external social networks and services. +They are only required for posting to existing accounts on Facebook, Twitter, and StatusNet. +There is also a connector for accessing your email INBOX. If the following network connectors are installed on your system, select the following links to visit the appropriate settings page and configure them for your account: @@ -15,53 +17,75 @@ If the following network connectors are installed on your system, select the fol Instructions For Connecting To People On Specific Services ========================================================== -**Friendica** +Friendica +--- + +You can either connect to others by providing your Identity Address on the 'Connect' page of any Friendica member. +Or you can put their Identity Address into the Connect box on your [Contacts](contacts) page. -You may connect by providing your Identity Address on the 'Connect' page of any Friendica member. You may also put their Identity Address into the Connect box on your [Contacts](contacts) page. - - -**Diaspora** +Diaspora +--- Add the Diaspora 'handle' to the 'Connect/Follow' text box on your [Contacts](contacts) page. -**Identi.ca/StatusNet/GNU-Social** +Identi.ca/StatusNet/GNU-Social +--- These are described as the "federated social web" or OStatus contacts. -Please note that there are **no** privacy provisions on the OStatus network. Any message which is delivered to **any** OStatus member is visible to anybody in the world and will negate any privacy settings that you have in effect. These messages will also turn up in public searches. +Please note that there are **no** privacy provisions on the OStatus network. +Any message which is delivered to **any** OStatus member is visible to anybody in the world and will negate any privacy settings that you have in effect. +These messages will also turn up in public searches. Since OStatus communications do not use authentication, if you select the profile privacy option to hide your profile and messages from unknown viewers, OStatus members will **not** be able to receive your communications. To connect with an OStatus member insert their profile URL or Identity address into the Connect box on your [Contacts](contacts) page. The StatusNet connector may be used if you wish posts to appear on an OStatus site using an existing OStatus account. - It is not necessary to do this, as you may 'follow' OStatus members from Friendica and they may follow you (by placing their own Identity Address into your 'Connect' page). -**Blogger, Wordpress, RSS feeds, arbitrary web pages** +Blogger, Wordpress, RSS feeds, arbitrary web pages +--- -Put the URL into the Connect box on your [Contacts](contacts) page. You will not be able to reply to these contacts. +Put the URL into the Connect box on your [Contacts](contacts) page. +PLease note that you will not be able to reply to these contacts. -This will allow you to _connect_ with millions of pages on the internet. All that we require to do this is that the page use a discoverable feed using either the RSS or Atom syndication format, and which provides an author name and a site image in a form which we can extract. +This feed reader feature will allow you to _connect_ with millions of pages on the internet. +All that the pages need to have is a discoverable feed using either the RSS or Atom syndication format, and which provides an author name and a site image in a form which we can extract. +Twitter +--- -**Twitter** +To follow a Twitter member, put the URL of the Twitter member's main page into the Connect box on your [Contacts](contacts) page. +To reply, you must have the Twitter connector installed, and reply using your own status editor. +Begin the message with @twitterperson replacing with the Twitter username. -To follow a Twitter member, put the URL of the Twitter member's main page into the Connect box on your [Contacts](contacts) page. To reply, you must have the Twitter connector installed, and reply using your own status editor. Begin the message with @twitterperson replacing with the Twitter username. +Email +--- -**Email** +Configure the email connector from your [Settings](settings) page. +Once this has been done, you may enter an email address to connect with using the Connect box on your [Contacts](contacts) page. +They must be the sender of a message which is currently in your INBOX for the connection to succeed. +You may include email contacts in private conversations. -Configure the email connector from your [Settings](settings) page. Once this has been done, you may enter an email addres to connect with using the Connect box on your [Contacts](contacts) page. They must be the sender of a message which is currently in your INBOX for the connect to succeed. You may include email contacts in private conversations. +Facebook +--- -**Facebook** +The Facebook connector is a plugin/addon which allows you to interact with friends on Facebook from within Friendica. +If enabled, your Facebook friend list will be imported, and you will see and be able to respond to Facebook posts. +Facebook members may also be added to private conversation groups. +You will not be able to connect with individual Facebook accounts - but will have your entire friend list imported and updated if new friends are added. -The Facebook connector is a plugin/addon which allows you to interact with friends on Facebook from within Friendica. If enabled, your Facebook friend list will be imported, and you will see and be able to respond to Facebook posts. Facebook members may also be added to private conversation groups. You will not be able to connect with individual Facebook accounts - but will have your entire friend list imported and updated if new friends are added. +Assuming the Facebook plugin/addon has been installed on your system, it can be enabled by going to your [Plugin Settings](settings/addon) page, and then selecting "Facebook Connector Settings" on that page. +This will only appear if the Facebook plugin/addon has been installed. +Follow the instruction to install or remove the Facebook connector. -Assuming the Facebook plugin/addon has been installed on your system, it can be enabled by going to your [Plugin Settings](settings/addon) page, and then select "Facebook Connector Settings" on that page. This will only appear if the Facebook plugin/addon has been installed. Follow the instruction to install or remove the Facebook connector. - -You may also choose whether your public postings are posted to Facebook by default. You may toggle this setting at any time from the Permissions settings of the status post editor (click the lock icon). This setting has no effect on private conversations - which will always be delivered to Facebook friends who are included in the permissions. - -(Note: At this time, Facebook contacts will not be able to view any private photos. This will be resolved in a future release. Facebook contacts may however see any public photos you have uploaded.) +You may also choose whether your public postings are posted to Facebook by default. +You may toggle this setting at any time from the Permissions settings of the status post editor (click the lock icon). +This setting has no effect on private conversations - which will always be delivered to Facebook friends who are included in the permissions. +(Note: At this time, Facebook contacts will not be able to view any private photos. +This will be resolved in a future release. +Facebook contacts may however see any public photos you have uploaded.) diff --git a/doc/Developers-Intro.md b/doc/Developers-Intro.md index 23aff4f01..6ae5cb5cd 100644 --- a/doc/Developers-Intro.md +++ b/doc/Developers-Intro.md @@ -3,47 +3,76 @@ Where to get started to help improve Friendica? * [Home](help) -Do you want to help us improve Friendica? Here we have compiled some hints on how to get started and some tasks to help you choose. A project like Friendica is the sum of many different contributions. **Very different skills are required to make good software. Some of them involve coding, others do not.** We are looking for helpers in all areas, whether you write text or code, whether you spread the word to convince people or design new icons. Whether you feel like an expert or like a newbie - join us with your ideas! +Do you want to help us improve Friendica? +Here we have compiled some hints on how to get started and some tasks to help you choose. +A project like Friendica is the sum of many different contributions. +**Very different skills are required to make good software. +Some of them involve coding, others do not.** +We are looking for helpers in all areas, whether you write text or code, whether you spread the word to convince people or design new icons. +Whether you feel like an expert or like a newbie - join us with your ideas! -**Contact us** +Contact us +--- The discussion of Friendica development takes place in the following Friendica forums: * The main [forum for Friendica development](https://friendika.openmindspace.org/profile/friendicadevelopers) * The [forum for Friendica theme development](https://friendica.eu/profile/ftdevs) -**Help other users** +Help other users +--- -Remember the questions you had when you first tried Friendica? A good place to start can be to help new people find their way around Friendica in the [general support forum](https://helpers.pyxis.uberspace.de/profile/helpers). Welcome them, answer their questions, point them to documentation or ping other helpers directly if you can't help but think you know who can. +Remember the questions you had when you first tried Friendica? +A good place to start can be to help new people find their way around Friendica in the [general support forum](https://helpers.pyxis.uberspace.de/profile/helpers). +Welcome them, answer their questions, point them to documentation or ping other helpers directly if you can't help but think you know who can. -**Translations** +Translation +--- The documentation contains help on how to translate Friendica in the [at Transifex](/help/translations) where the UI is translated. If you don't want to translate the UI, or it is already done to your satisfaction, you might want to work on the translation of the /help files? -**Design** +Design +--- -Are you good at designing things? If you have seen Friendica you probably have ideas to improve it, haven't you? +Are you good at designing things? +If you have seen Friendica you probably have ideas to improve it, haven't you? * If you would like to work with us on enhancing the user interface, please join the [UX Watchdogs forum](https://fc.oscp.info/profile/ux-watchdogs) * Make plans for a better Friendica interface design and share them with us. -* Tell us if you are able to realize your ideas or what kind of help you need. We can't promise we have the right skills in the group but we'll try. +* Tell us if you are able to realize your ideas or what kind of help you need. +We can't promise we have the right skills in the group but we'll try. * Choose a thing to start with, e.g. work on the icon set of your favourite theme -**Programming** +Programming +--- -* **Issues:** Have a look at our [issue tracker](https://github.com/friendica/friendica) on gihub! - * Try to reproduce a bug that needs more inquries and write down what you find out. - * If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed. - * Fix a bug if you can. Please make the pull request against the *develop* branch of the repository. +###Issues -* **Web interface:** The thing many people want most is a better interface, preferably a responsive Friendica theme. This is a piece of work! If you want to get involved here: - * Look at the first steps that were made (e.g. the clean theme). Ask us to find out whom to talk to about their experiences. - * Talk to design people if you know any. - * Let us know about your plans [in the dev forum](https://friendika.openmindspace.org/profile/friendicadevelopers) and the [theme developer forum](https://friendica.eu/profile/ftdevs). Do not worry about cross-posting. +Have a look at our [issue tracker](https://github.com/friendica/friendica) on github! -* **Client software:** There are free software clients that do somehow work with Friendica but most of them need love and maintenance. Also, they were mostly made for other platforms using the StatusNet API. This means they lack:w - the features that are really specific to Friendica. Popular clients you might want to have a look at are: - * [Hotot (Linux)](http://hotot.org/) - abandoned - * [Friendica for Android](https://github.com/max-weller/friendica-for-android) - abandoned - * You can find more working client software in [Wikipedia](https://en.wikipedia.org/wiki/Friendica). + * Try to reproduce a bug that needs more inquries and write down what you find out. + * If a bug looks fixed, ask the bug reporters for feedback to find out if the bug can be closed. + * Fix a bug if you can. Please make the pull request against the *develop* branch of the repository. + +###Web interface + +The thing many people want most is a better interface, preferably a responsive Friendica theme. +This is a piece of work! +If you want to get involved here: + +* Look at the first steps that were made (e.g. the clean theme). +Ask us to find out whom to talk to about their experiences. +* Talk to design people if you know any. +* Let us know about your plans [in the dev forum](https://friendika.openmindspace.org/profile/friendicadevelopers) and the [theme developer forum](https://friendica.eu/profile/ftdevs). +Do not worry about cross-posting. + +###Client software +There are free software clients that do somehow work with Friendica but most of them need love and maintenance. +Also, they were mostly made for other platforms using the StatusNet API. +This means they lack the features that are really specific to Friendica. +Popular clients you might want to have a look at are: + +* [Hotot (Linux)](http://hotot.org/) - abandoned +* [Friendica for Android](https://github.com/max-weller/friendica-for-android) - abandoned +* You can find more working client software in [Wikipedia](https://en.wikipedia.org/wiki/Friendica). diff --git a/doc/FAQ.md b/doc/FAQ.md index 6fa852e0b..fd2012c7e 100644 --- a/doc/FAQ.md +++ b/doc/FAQ.md @@ -25,92 +25,109 @@ User ***** -**Why do I getting warnings about certificates?** +###Why do I get warnings about SSL certificates? -Sometimes you get a browser warning about a missing certificate. These warnings can have three reasons: +SSL (Secure Socket Layer) is a technology to encrypt data transfer between computers. +Sometimes your browser warns you about a missing or invalid certificate. +These warnings can have three reasons: -1. the server you are connected to doesn't have SSL; +1. The server you are connected to doesn't offer SSL encryption. +2. The server has a self-signed certificate (not recommended). +3. The certificate is expired. -2. the server has a self-signed certificate (not recommended) - -3. the certificate is expired. - -*(SSL (Secure Socket Layer) is a technology to encrypt data as it passes between two computers).* - -If you dont have a SSL cert yet, there are three ways to get one: buy one, get a free one (eg. via StartSSL) or create your own (not recommended). [You can find more information about setting up SSL and why it's a bad idea to use self-signed SSL here.](help/SSL) - -Be aware that a browser warning about security issues is something that can make new users feel insecure about the whole friendica project. - -Also you can have problems with the connection to diaspora because some pods require a SSL-certificated connection. - -If you are just using friendica for a specified group of people on a single server without a connection to the rest of the friendica network, there is no need to use SSL. If you exclusively use public posts, there is also no need for it. - -If you havn't set up a server yet, it's wise to compare the different provider and their SSL conditions. Some allow the usage of free certificates or give you the access to their certificate for free. Other ones only allow bought certificates from themselves or other providers. +We recommend to talk to the admin(s) of the affected friendica server. (Admins, please see the respective section of the [admin manual](help/SSL).) -**How can I upload images, files, links, videos and sound files to posts?** +###How can I upload images, files, links, videos and sound files to posts? -You can upload images from your computer by using the [editor](help/Text_editor). An overview of all uploaded images is listed at yourpage.com/photos/profilename. There you could also upload images directly and choose, if your contacts shall receive a message about this upload. +You can upload images from your computer by using the [editor](help/Text_editor). +An overview of all uploaded images is listed at *yourpage.com/photos/profilename*. +On that page, you can also upload images directly and choose, if your contacts shall receive a message about this upload. -Generally, you could attach every kind of file to a post. This is possible by using the "paper-clip"-symbol at the editor. These files will be linked to your post and can be downloaded by your contacts. But it's not possible to get a preview for these ones. Because of this, this upload method is recommended for office or zipped files. -If you want to use Dropbox, owncloud at your own server or any other [filehoster](http://en.wikipedia.org/wiki/Comparison_of_file_hosting_services), you'll have use the "link"-button (chain-symbol). +Generally, you could attach every kind of file to a post. +This is possible by using the "paper-clip"-symbol in the editor. +These files will be linked to your post and can be downloaded by your contacts. +But it's not possible to get a preview for these ones. +Because of this, this upload method is recommended for office or zipped files. +If you want share content from Dropbox, Owncloud or any other [filehoster](http://en.wikipedia.org/wiki/Comparison_of_file_hosting_services), use the "link"-button (chain-symbol). -When you're adding URLs of other webpages with the "link"-button, Friendica tries to create a small preview. If this doesn't work, try to add the link by typing: [url=http://example.com]self-chosen name[/url]. +When you're adding URLs of other webpages with the "link"-button, Friendica tries to create a small preview. +If this doesn't work, try to add the link by typing: [url=http://example.com]*self-chosen name*[/url]. -You can also add video and audio files to posts. But instead of a direct upload you have to use one of the following methods: +You can also add video and audio files to posts. +But instead of a direct upload you have to use one of the following methods: 1. Add the video or audio link of a hoster (Youtube, Vimeo, Soundcloud and everyone else with oembed/opengraph-support). Videos will be shown with a preview image you can click on to start it. SoundCloud directly inserts a player to your post. -2. If you have an own server, you can upload your multimedia files via FTP and insert the URL. Your video or sound file will be shown with their own player at your post. +2. If you have your own server, you can upload multimedia files via FTP and insert the URL. -Friendica is using HTML5 for embedding content. Therefore, the supported files are depending on your browser and operating system (OS). Some filetypes are WebM, MP4, MP3 and OGG. There are more examples at wikipedia ([video](http://en.wikipedia.org/wiki/HTML5_video), [audio](http://en.wikipedia.org/wiki/HTML5_audio)). +Friendica is using HTML5 for embedding content. +Therefore, the supported files are depending on your browser and operating system. +Some supported filetypes are WebM, MP4, MP3 and OGG. +See Wikipedia for more of them ([video](http://en.wikipedia.org/wiki/HTML5_video), [audio](http://en.wikipedia.org/wiki/HTML5_audio)). -**Is it possible to have different avatars per profile?** +###Is it possible to have different avatars per profile? -Yes. On your Edit/Manage Profiles page, you will find a "change profile photo" link. Clicking this will take you to a page where you can upload a photograph and select which profile it will be associated with. To avoid privacy leakage, we only display the photograph associated with your default profile as the avatar in your posts. +Yes. On your Edit/Manage Profiles page, you will find a "change profile photo" link. +Clicking this will take you to a page where you can upload a photograph and select which profile it will be associated with. +To avoid privacy leakage, we only display the photograph associated with your default profile as the avatar in your posts. -**What is the difference between blocked|ignored|archived|hidden contacts?** +###What is the difference between blocked|ignored|archived|hidden contacts? -We prevent direct communication with blocked contacts. They are not included in delivery, and their own posts to you are not imported; however their conversations with your friends will still be visible in your stream. If you remove a contact completely, they can send you another friend request. Blocked contacts cannot do this. They cannot communicate with you directly, only through friends. +We prevent direct communication with **blocked contacts**. +They are not included in delivery, and their own posts to you are not imported. +However their conversations with your friends will still be visible in your stream. +If you remove a contact completely, they can send you another friend request. +Blocked contacts cannot do this. They cannot communicate with you directly, only through friends. -Ignored contacts are included in delivery - they will receive your posts. However we do not import their posts to you. Like blocking, you will still see this person's comments to posts made by your friends. +**Ignored contacts** are included in delivery - they will receive your posts. +However we do not import their posts to you. +Like blocking, you will still see this person's comments to posts made by your friends. -[A plugin called "blockem" can be installed to collapse/hide all posts from a particular person in your stream if you desire complete blocking of an individual, including his/her conversations with your other friends.] +A plugin called "blockem" can be installed to collapse/hide all posts from a particular person in your stream if you desire complete blocking of an individual, including his/her conversations with your other friends. -An archived contact means that communication is not possible and will not be attempted (perhaps the person moved to a new site and removed the old profile); however unlike blocking, existing posts this person made before being archived will be visible in your stream. +An **archived contact** means that communication is not possible and will not be attempted. +(Perhaps the person moved to a new site and removed the old profile.) +However unlike blocking, existing posts this person made before being archived will be visible in your stream. -A hidden contact will not be displayed in any "friend list" (except to you). However a hidden contact will appear normally in conversations and this may expose his/her hidden status to anybody who can see the conversation. +A **hidden contact** will not be displayed in any "friend list" (except to you). +However a hidden contact will appear normally in conversations and this may expose his/her hidden status to anybody who can see the conversation. -**What happens when an account is removed? Is it truly deleted?** +###What happens when an account is removed? Is it truly deleted? -If you delete your account, we will immediately remove all your content on your server, and then issue requests to all your contacts to remove you. This will also remove you from the global directory. Doing this requires that your account and profile still be "partially" available for up to 24 hours in order to establish contact with all your friends. We can block it in several ways so that it appears empty and all profile information erased, but will then wait for 24 hours (or after all of your contacts have been notified) before we can physically remove it. +If you delete your account, we will immediately remove all your content on **your** server. + +Then Friendica issues requests to all your contacts to remove you. +This will also remove you from the global directory. +Doing this requires your account and profile still to be "partially" available for up to 24 hours in order to establish contact with all your friends. +We can block it in several ways so that it appears empty and all profile information erased, but will then wait for 24 hours (or after all of your contacts have been notified) before we can physically remove it. + +After that, your account is deleted. -**Can I follow a hashtag?** +###Can I follow a hashtag? No. The act of 'following' a hashtags is an interesting technology, but presents a few issues. -1.) Posts which have to be copied to all sites on the network that are "listening" to that tag, which increases the storage demands to the detriment of small sites, and making the use of shared hosting practically impossible, and +1. Posts would have to be copied to all sites on the network that are "listening" to that hashtag. This would increase the storage demands to the detriment of small sites. It would make the use of shared hosting practically impossible. -2.) Making spam easy (tag spam is quite a serious issue on identi.ca for instance) +2. Making spam easy (tag spam is quite a serious issue on identi.ca for instance) -but mostly - -3.) It creates a natural bias towards large sites which hold more tagged content - if your network uses tagging instead of other conversation federation mechanisms such as groups/forums. +3. It creates a natural bias towards large sites which hold more tagged content - if your network uses tagging instead of other conversation federation mechanisms such as groups/forums. Instead, we offer other mechanisms for wide-area conversations while retaining a 'level playing ground' for both large and small sites, such as forums and community pages and shared tags. -**How to create a RSS feed of the stream?** +###How to create a RSS feed of the stream? If you want to share your public page via rss you can use one of the following links: @@ -132,9 +149,10 @@ RSS feed of the conversations at your site -**Are there any clients for friendica I can use?** +###Are there any clients for friendica I can use? -Friendica is using a [Twitter/StatusNet compatible API](help/api), which means you can use any Twitter/StatusNet/GNU Social client for your plattform as long as you can change the API path in its settings. Here is a list of known working clients +Friendica is using a [Twitter/StatusNet compatible API](help/api), which means you can use any Twitter/StatusNet/GNU Social client for your plattform as long as you can change the API path in its settings. +Here is a list of known working clients: * Android * Friendica Client for Android @@ -153,9 +171,11 @@ Depending on the features of the client you might encounter some glitches in usa -**Where I can find help?** +###Where I can find help? -If you have problems with your Friendica page, you can ask the community at the [Friendica Support Group](https://helpers.pyxis.uberspace.de/profile/helpers). If you can't use your default profile you can either use a test account [test server](http://friendica.com/node/31) respectively an account at a public site [list](http://dir.friendica.com/siteinfo) or you can use the Librelist mailing list. If you want to use the mailing list, please just send a mail to friendica AT librelist DOT com. +If you have problems with your Friendica page, you can ask the community at the [Friendica Support Group](https://helpers.pyxis.uberspace.de/profile/helpers). +If you can't use your default profile you can either use a test account [test server](http://friendica.com/node/31) respectively an account at a public site [list](http://dir.friendica.com/siteinfo) or you can use the Librelist mailing list. +If you want to use the mailing list, please just send a mail to friendica AT librelist DOT com. If you are a theme developer, you will find help at this forum: [Friendica Theme Developers](https://friendica.eu/profile/ftdevs). @@ -164,15 +184,16 @@ Admin ***** -**Can I configure multiple domains with the same code instance?** +###Can I configure multiple domains with the same code instance? -This function is not supported anymore starting from Friendica 3.3 +No, this function is not supported anymore starting from Friendica 3.3. -**Where can I find the source code of friendica, addons and themes?** +###Where can I find the source code of friendica, addons and themes? -You can find the main respository [here](https://github.com/friendica/friendica). There you will always find the current stable version of friendica. +You can find the main respository [here](https://github.com/friendica/friendica). +There you will always find the current stable version of friendica. Addons are listed at [this page](https://github.com/friendica/friendica-addons). diff --git a/doc/Forums.md b/doc/Forums.md index 56f47b350..2eac81a72 100644 --- a/doc/Forums.md +++ b/doc/Forums.md @@ -6,31 +6,56 @@ Forums Friendica also lets you create forums and/or celebrity accounts. -Every page in Friendica has a nickname and these must all be unique. This applies to all forums, whether they are normal profiles or forum profiles. +Every page in Friendica has a nickname and these must all be unique. +This applies to all forums, whether they are normal profiles or forum profiles. -Therefore the first thing you need to do to create a new forum is to register a new account for the forum. Please note that the site administrator can restrict and/or regulate the registration of new accounts. +Therefore the first thing you need to do to create a new forum is to register a new account for the forum. +Please note that the site administrator can restrict and/or regulate the registration of new accounts. -If you create a second account on a system and use the same email address or OpenID account as an existing account, you will no longer be able to use the email address (or OpenID) to login to the account. You should login using the account nickname instead. +If you create a second account on a system and use the same email address or OpenID account as an existing account, you will no longer be able to use the email address (or OpenID) to log in to the account. +You should log in using the account nickname instead. -On the new account, visit the 'Settings' page. Towards the end of the page are "Advanced Account/Page Type Settings". Typically you would use "Normal Account" for a normal personal account. This is the default selection. Community Forum/Celebrity Accounts provide the ability for people to become friends/fans of the forum without requiring approval. +On the new account, visit the 'Settings' page. +Towards the end of the page are "Advanced Account/Page Type Settings". +Typically you would use "Normal Account" for a normal personal account. +This is the default selection. +Community Forum/Celebrity Accounts provide the ability for people to become friends/fans of the forum without requiring approval. -The exact setting you would use depends on how you wish to interact with people who join the page. The "Soapbox" setting let's the page owner control all communications. Everything you post will go out to the forum members, but there will be no opportunity for interaction. This setting would typically be used for announcements or corporate communications. +The exact setting you would use depends on how you wish to interact with people who join the page. +The "Soapbox" setting let's the page owner control all communications. +Everything you post will go out to the forum members, but there will be no opportunity for interaction. +This setting would typically be used for announcements or corporate communications. -The most common setting is the "Community Forum". This creates a forum page where all members can freely interact. +The most common setting is the "Community Forum". +This creates a forum page where all members can freely interact. The "Automatic Friend Account" is typically used for personal profile forums where you wish to automatically approve any friendship/connection requests. -**Managing Multiple forums** +Managing Multiple forums +--- -We recommend that you create group forums with the same email address and password as your normal account. If you do this, you will find a new "Manage" tab on the menu bar which lets you toggle identities easily and manage your forums. You are not required to do this, but the alternative is to logout and log back into the other account to manage alternate forums - and this could get cumbersome if you manage several different forums/identities. +We recommend that you create group forums with the same email address and password as your normal account. +If you do this, you will find a new "Manage" tab on the menu bar which lets you toggle identities easily and manage your forums. +You are not required to do this, but the alternative is to log out and log back into the other account to manage alternate forums. +This could get cumbersome if you manage several different forums/identities. -You may also appoint a delegate to manage your forum. Do this by visiting the [Delegation Setup Page](delegate). This will provide you with a list of contacts on this system under "Potential Delegates". Selecting one or more persons will give them access to manage your forum. They will be able to edit contacts, profiles, and all content for this account/page. Please use this facility wisely. Delegated managers will not be able to alter basic account settings such as passwords or page types and/or remove the account. +You may also appoint a delegate to manage your forum. +Do this by visiting the [Delegation Setup Page](delegate). +This will provide you with a list of contacts on this system under "Potential Delegates". +Selecting one or more persons will give them access to manage your forum. +They will be able to edit contacts, profiles, and all content for this account/page. +Please use this facility wisely. +Delegated managers will not be able to alter basic account settings such as passwords or page types and/or remove the account. -**Posting to Community forums** +Posting to Community forums +--- -If you are a member of a community forum, you may post to the forum by including an @-tag in the post mentioning the forum. For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients. If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members). +If you are a member of a community forum, you may post to the forum by including an @-tag in the post mentioning the forum. +For example @bicycle would send my post to all members of the group "bicycle" in addition to the normal recipients. +If your post is private you must also explicitly include the group in the post permissions (to allow the forum "contact" to see the post) **and** mention it in a tag (which redistributes the post to the forum members). You may also post to a community forum by posting a "wall-to-wall" post using secure cross-site authentication. -Comments which are relayed to community forums will be relayed back to the original post creator. Mentioning the forum with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator. \ No newline at end of file +Comments which are relayed to community forums will be relayed back to the original post creator. +Mentioning the forum with an @-tag in a comment does not relay the message, as distribution is controlled entirely by the original post creator. diff --git a/doc/Github.md b/doc/Github.md index efee32d5b..cfdb01476 100644 --- a/doc/Github.md +++ b/doc/Github.md @@ -3,26 +3,68 @@ Friendica on Github * [Home](help) -**Here is how you can work on the code with us** +Here is how you can work on the code with us. If you have any questions please write to the Friendica developers' forum. + +Introduction to the workflow with our Github repository +------------------------------------------------------- 1. Install git on the system you will be developing on. 2. Create your own [github](https://github.com) account. 3. Fork the Friendica repository from [https://github.com/friendica/friendica.git](https://github.com/friendica/friendica.git). -4. Clone your fork from your Github account to your machine. Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) to create and use your own tracking fork on github -5. Commit your changes to your fork. Then go to your github page and create a "Pull request" to notify us to merge your work. +4. Clone your fork from your Github account to your machine. +Follow the instructions provided here: [http://help.github.com/fork-a-repo/](http://help.github.com/fork-a-repo/) to create and use your own tracking fork on github +5. Commit your changes to your fork. +Then go to your github page and create a "Pull request" to notify us to merge your work. -**Branches** +Our Git Branches +---------------- -There are two branches in the main repo on Github: +There are two relevant branches in the main repo on Github: 1. master: This branch contains stable releases only. -2. develop: This branch contains the latest code. This is what you want to work with. +2. develop: This branch contains the latest code. +This is what you want to work with. -**Important** +Fast-forwarding +--------------- -Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. We reserve the right to reject any patch which results in a large number of merge conflicts. This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. +Fast forwarding is enabled by default in git. +When you merge with fast-forwarding it does not add a new commit to mark when you've performed the merge and how. +This means in your commit history you can't know exactly what happened in terms of merges. +**It's best to turn off fast-forwarding.** +This is done by running "git merge --no-ff". +[Here](https://stackoverflow.com/questions/5519007/how-do-i-make-git-merges-default-be-no-ff-no-commit) is an explanation on how to configure git to turn off fast-forwarding by default. +You can find some more background reading [here](http://nvie.com/posts/a-successful-git-branching-model/). -Also - **test your changes**. Don't assume that a simple fix won't break something else. If possible get an experienced Friendica developer to review the code. +Release branches +---------------- + +A release branch is created when the develop branch contains all features it should have. +A release branch is used for a few things. + +1. It allows last-minute bug fixing before the release goes to master branch. +2. It allows meta-data changes (README, CHANGELOG, etc.) for version bumps and documentation changes. +3. It makes sure the develop branch can receive new features that are **not** part of this release. + +That last point is important because... +**The moment a release branch is created, develop is now intended for the version after this release**. +So please don't ever merge develop into a release! +An example: If a release branch "release-3.4" is created, "develop" becomes either 3.5 or 4.0. +If you were to merge develop into release-3.4 at this point, features and bug-fixes intended for 3.5 or 4.0 might leak into this release branch. +This might introduce new bugs, too. +Which defeats the purpose of the release branch. + +Some important reminders +------------------------ + +1. Please pull in any changes from the project repository and merge them with your work **before** issuing a pull request. +We reserve the right to reject any patch which results in a large number of merge conflicts. +This is especially true in the case of language translations - where we may not be able to understand the subtle differences between conflicting versions. + +2. **Test your changes**. +Don't assume that a simple fix won't break anything else. +If possible get an experienced Friendica developer to review the code. +Don't hesitate to ask us in case of doubt. Check out how to work with [our Vagrant](help/Vagrant) to save a lot of setup time! diff --git a/doc/Home.md b/doc/Home.md index 592ee977b..068523628 100644 --- a/doc/Home.md +++ b/doc/Home.md @@ -27,7 +27,6 @@ Friendica Documentation and Resources * [Install](help/Install) * [Settings](help/Settings) -* [Plugins](help/Plugins) * [Installing Connectors (Facebook/Twitter/StatusNet)](help/Installing-Connectors) * [Message Flow](help/Message-Flow) * [Using SSL with Friendica](help/SSL) @@ -40,6 +39,7 @@ Friendica Documentation and Resources * [Help on Vagrant](help/Vagrant) * [How to translate Friendica](help/translations) * [Bugs and Issues](help/Bugs-and-Issues) +* [Plugin Development](help/Plugins) * [Smarty 3 Templates](help/smarty3-templates) **External Resources** diff --git a/doc/Improve-Performance.md b/doc/Improve-Performance.md index d4c94d2d1..ced590122 100644 --- a/doc/Improve-Performance.md +++ b/doc/Improve-Performance.md @@ -1,13 +1,9 @@ -How to: improve performance +How to improve the performance of a Friendica site ============== * [Home](help) -A little guide to increase the performance of a Friendica site - -**At first** - -Feel free to ask at Friendica support at https://helpers.pyxis.uberspace.de/profile/helpers if you need some clarification about the following instructions or if you need help in any other way. +Feel free to ask in the [Friendica support forum](https://helpers.pyxis.uberspace.de/profile/helpers) if you need some clarification about the following instructions or if you need help in any other way. System configuration -------- @@ -26,9 +22,11 @@ If you have many OStatus contacts then completing of conversations can be very t Lock files help avoid the possibility of several background processes running at the same time. -For example: It can happen that the poller.php takes longer than expected. When there is no lock file, it is possible for several instances of poller.php to run at the same time - which would slow down the system and affect the maximum numbers of processes and database connections. +For example: It can happen that the poller.php takes longer than expected. +When there is no lock file, it is possible for several instances of poller.php to run at the same time - which would slow down the system and affect the maximum numbers of processes and database connections. -Please define a full file path that is writeable by the web server process. If your site is located at "/var/www/sitename/htdocs/" you could maybe create a folder "/var/www/sitename/temp/". +Please define a full file path that is writeable by the web server process. +If your site is located at "/var/www/sitename/htdocs/" you could maybe create a folder "/var/www/sitename/temp/". Enable "Use MySQL full text engine" @@ -36,20 +34,17 @@ When using MyISAM (default) this speeds up search. Set "Path to item cache" to an empty value outside your web root. -Parsed BBCode and some external images will be put there. Parsing BBCode is a time wasting process that also makes heave use of the CPU. - +Parsed BBCode and some external images will be put there. +Parsing BBCode is a time wasting process that also makes heave use of the CPU. You can use the same folder you used for the lock file. **Warning!** -The folder for item cache is cleaned up regularly. Every file that exceeds the cache duration is deleted. **If you accidentally point the cache path to your web root then you will delete your web root!** - +The folder for item cache is cleaned up regularly. +Every file that exceeds the cache duration is deleted. **If you accidentally point the cache path to your web root then you will delete your web root!** So double check that the folder only contains temporary content that can be deleted at any time. - You have been warned. -P.S. It happened to me :) - Plugins -------- @@ -61,20 +56,18 @@ Active the following plugins: ###Alternate Pagination - -**Description** - -This plugin reduces the database load massively. Downside: You can't see the total number of pages available at each module, and have this replaced with "older" and "newer" links. - -**Administration** +This plugin reduces the database load massively. +Downside: You can't see the total number of pages available at each module, and have this replaced with "older" and "newer" links. Go to the admin settings of "altpager" and set it to "global". ###rendertime -This plugin doesn't speed up your system. It helps analyzing your bottlenecks. +This plugin doesn't speed up your system. +It helps to analyze your bottlenecks. -When enabled you see some values like the following at the bottom of every page: +When enabled you see some values at the bottom of every page. +They show your performance problems. Performance: Database: 0.244, Network: 0.002, Rendering: 0.044, Parser: 0.001, I/O: 0.021, Other: 0.237, Total: 0.548 @@ -86,50 +79,47 @@ When enabled you see some values like the following at the bottom of every page: Others: Everything else :) Total: The sum of all above values -These values show your performance problems. - -Webserver +Apache Webserver -------- -If you are using Apache please enable the following modules. +The following Apache modules are recommended: -**Cache-Control** +###Cache-Control This module tells the client to cache the content of static files so that they aren't fetched with every request. - Enable the module "mod_expires" by typing in "a2enmod expires" as root. - Please add the following lines to your site configuration in the "directory" context. -ExpiresActive on ExpiresDefault "access plus 1 week" + ExpiresActive on ExpiresDefault "access plus 1 week" -See also: http://httpd.apache.org/docs/2.2/mod/mod_expires.html +Also see the Apache [2.2](http://httpd.apache.org/docs/2.2/mod/mod_expires.html) / [2.4](https://httpd.apache.org/docs/2.4/mod/mod_expires.html) documentation. -**Compress content** +###Compress content This module compresses the traffic between the web server and the client. - Enable the module "mod_deflate" by typing in "a2enmod deflate" as root. -See also: http://httpd.apache.org/docs/2.2/mod/mod_deflate.html +Also see the Apache [2.2](http://httpd.apache.org/docs/2.2/mod/mod_deflate.html) / [2.4](https://httpd.apache.org/docs/2.4/mod/mod_deflate.html) documentation. PHP -------- -**FCGI** +###FCGI -When using apache think about using FCGI. When using a Debian based distribution you will need the packages named "php5-cgi" and "libapache2-mod-fcgid". +When using Apache think about using FCGI. +In a Debian-based distribution you will need to install the packages named "php5-cgi" and "libapache2-mod-fcgid". -Please refer to external documentations for a more detailed explanation how to set up a system based upon FCGI. +Please refer to external documentation for a more detailed explanation how to set up a system based upon FCGI. -**APC** +###APC -APC is an opcode cache. It speeds up the processing of PHP code. +APC is an opcode cache. +It speeds up the processing of PHP code. +When APC is enabled, Friendica uses it to store configuration data between different requests. +This helps speeding up the page creation time. -When APC is enabled, Friendica uses it to store configuration data between different requests. This helps speeding up the page creation time. +###Database -**Database** +There are scripts like [tuning-primer.sh](http://www.day32.com/MySQL/) and [mysqltuner.pl](http://mysqltuner.pl) that analyze your database server and give hints on values that could be changed. -There are scripts like [tuning-primer.sh](http://www.day32.com/MySQL/) and [mysqltuner.pl](http://mysqltuner.pl) that analyzes your database server and give hints on values that could be changed. - -Please enable the slow query log. This helps being aware of performance problems. +Please enable the slow query log. This helps to find performance problems. diff --git a/doc/Install.md b/doc/Install.md index 28b8ba9f7..cf58af66f 100644 --- a/doc/Install.md +++ b/doc/Install.md @@ -1,118 +1,126 @@ Friendica Installation =============== -We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. But be aware that Friendica is more than a simple web application. It is a complex communications system which more closely resembles an email server than a web server. For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. This kind of functionality requires a bit more of the host system than the typical blog. Not every PHP/MySQL hosting provider will be able to support Friendica. Many will. But **please** review the requirements and confirm these with your hosting provider prior to installation. +We've tried very hard to ensure that Friendica will run on commodity hosting platforms - such as those used to host Wordpress blogs and Drupal websites. +But be aware that Friendica is more than a simple web application. +It is a complex communications system which more closely resembles an email server than a web server. +For reliability and performance, messages are delivered in the background and are queued for later delivery when sites are down. +This kind of functionality requires a bit more of the host system than the typical blog. +Not every PHP/MySQL hosting provider will be able to support Friendica. +Many will. +But **please** review the requirements and confirm these with your hosting provider prior to installation. -Also if you encounter installation issues, please let us know via the forums at http://groups.google.com/group/friendica or file an issue at http://bugs.friendica.com . Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future. Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues. +Also if you encounter installation issues, please let us know via the [helper]() or the [developer]() forum or [file an issue](https://github.com/friendica/friendica/issues). +Please be as clear as you can about your operating environment and provide as much detail as possible about any error messages you may see, so that we can prevent it from happening in the future. +Due to the large variety of operating systems and PHP platforms in existence we may have only limited ability to debug your PHP installation or acquire any missing modules - but we will do our best to solve any general code issues. -Before you begin: Choose a domain name or subdomain name for your server. Put some thought into this - because changing it after installation is currently not-supported. Things will break, and some of your friends may have difficulty communicating with you. We plan to address this limitation in a future release. +Before you begin: Choose a domain name or subdomain name for your server. +Put some thought into this. Changing it after installation is currently not supported. +Things will break, and some of your friends may have difficulty communicating with you. +We plan to address this limitation in a future release. -1. Requirements - - Apache with mod-rewrite enabled and "Options All" so you can use a -local .htaccess file +Requirements +--- - - PHP 5.2+. The later the better. You'll need 5.3 for encryption of key exchange conversations. On a Windows environment, 5.2+ might not work as the function dns_get_record() is only available with version 5.3. - - PHP *command line* access with register_argc_argv set to true in the -php.ini file - - curl, gd, mysql, hash and openssl extensions - - some form of email server or email gateway such that PHP mail() works - - mcrypt (optional; used for server-to-server message encryption) +* Apache with mod-rewrite enabled and "Options All" so you can use a local .htaccess file +* PHP 5.2+. The later the better. You'll need 5.3 for encryption of key exchange conversations. On a Windows environment, 5.2+ might not work as the function dns_get_record() is only available with version 5.3. +* PHP *command line* access with register_argc_argv set to true in the php.ini file +* curl, gd, mysql, hash and openssl extensions +* some form of email server or email gateway such that PHP mail() works +* mcrypt (optional; used for server-to-server message encryption) +* Mysql 5.x +* the ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks (Windows) (Note: other options are presented in Section 7 of this document.) +* Installation into a top-level domain or sub-domain (without a directory/path component in the URL) is preferred. Directory paths will not be as convenient to use and have not been thoroughly tested. +* If your hosting provider doesn't allow Unix shell access, you might have trouble getting everything to work. - - Mysql 5.x +Installation procedure +--- - - ability to schedule jobs with cron (Linux/Mac) or Scheduled Tasks -(Windows) [Note: other options are presented in Section 7 of this document] +###Get Friendica - - Installation into a top-level domain or sub-domain (without a -directory/path component in the URL) is preferred. Directory paths will -not be as convenient to use and have not been thoroughly tested. +Unpack the Friendica files into the root of your web server document area. +If you are able to do so, we recommend using git to clone the source repository rather than to use a packaged tar or zip file. +This makes the software much easier to update. +The Linux command to clone the repository into a directory "mywebsite" would be - - [Dreamhost.com offers all of the necessary hosting features at a -reasonable price. If your hosting provider doesn't allow Unix shell access, -you might have trouble getting everything to work.] - -2. Unpack the Friendica files into the root of your web server document area. - - - If you are able to do so, we recommend using git to clone the source repository rather than to use a packaged tar or zip file. This makes the software much easier to update. The Linux command to clone the repository into a directory "mywebsite" would be - - `git clone https://github.com/friendica/friendica.git mywebsite` - - - and then you can pick up the latest changes at any time with - - `git pull` + git clone https://github.com/friendica/friendica.git mywebsite - - make sure folder *view/smarty3* exists and is writable by webserver +Make sure the folder *view/smarty3* exists and is writable by the webserver user - `mkdir view/smarty3` - - `chmod 777 view/smarty3` + mkdir view/smarty3 + chmod 777 view/smarty3 - - For installing addons - - - First you should be **on** your website folder +Get the addons by going into your website folder. - `cd mywebsite` + cd mywebsite - - Then you should clone the addon repository (separtely) +Clone the addon repository (separately): - `git clone https://github.com/friendica/friendica-addons.git addon` + git clone https://github.com/friendica/friendica-addons.git addon - - For keeping the addon tree updated, you should be on you addon tree and issue a git pull - - `cd mywebsite/addon` - - `git pull` - - - If you copy the directory tree to your webserver, make sure - that you also copy .htaccess - as "dot" files are often hidden - and aren't normally copied. +If you copy the directory tree to your webserver, make sure that you also copy .htaccess - as "dot" files are often hidden and aren't normally copied. +###Create a database -3. Create an empty database and note the access details (hostname, username, password, database name). +Create an empty database and note the access details (hostname, username, password, database name). -4. Visit your website with a web browser and follow the instructions. Please note any error messages and correct these before continuing. +###Run the installer -5. *If* the automated installation fails for any reason, check the following: +Point your web browser to the new site and follow the instructions. +Please note any error messages and correct these before continuing. - - ".htconfig.php" exists ... If not, edit htconfig.php and change system settings. Rename -to .htconfig.php - - Database is populated. ... If not, import the contents of "database.sql" with phpmyadmin -or mysql command line +*If* the automated installation fails for any reason, check the following: -6. At this point visit your website again, and register your personal account. +* Does ".htconfig.php" exist? If not, edit htconfig.php and change the system settings. Rename to .htconfig.php +* Is the database is populated? If not, import the contents of "database.sql" with phpmyadmin or mysql command line. + +At this point visit your website again, and register your personal account. Registration errors should all be recoverable automatically. -If you get any *critical* failure at this point, it generally indicates the -database was not installed correctly. You might wish to move/rename -.htconfig.php to another name and empty (called 'dropping') the database -tables, so that you can start fresh. +If you get any *critical* failure at this point, it generally indicates the database was not installed correctly. +You might wish to move/rename .htconfig.php to another name and empty (called 'dropping') the database tables, so that you can start fresh. -7. Set up a cron job or scheduled task to run the poller once every 5-10 -minutes in order to perform background processing. Example: +###Set up the poller - `cd /base/directory; /path/to/php include/poller.php` +Set up a cron job or scheduled task to run the poller once every 5-10 minutes in order to perform background processing. +Example: + + cd /base/directory; /path/to/php include/poller.php Change "/base/directory", and "/path/to/php" as appropriate for your situation. If you are using a Linux server, run "crontab -e" and add a line like the one shown, substituting for your unique paths and settings: -`*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php` + */10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php -You can generally find the location of PHP by executing "which php". If you -have troubles with this section please contact your hosting provider for -assistance. Friendica will not work correctly if you cannot perform this step. +You can generally find the location of PHP by executing "which php". +If you run into trouble with this section please contact your hosting provider for assistance. +Friendica will not work correctly if you cannot perform this step. -Alternative: You may be able to use the 'poormancron' plugin to perform this step -if you are using a recent Friendica release. To do this, edit the file ".htconfig.php" -and look for a line describing your plugins. On a fresh installation, it will look like +Alternative: You may be able to use the 'poormancron' plugin to perform this step. +To do this, edit the file ".htconfig.php" and look for a line describing your plugins. +On a fresh installation, it will look like this: -`$a->config['system']['addon'] = 'js_upload';` + $a->config['system']['addon'] = 'js_upload'; -This indicates the "js_upload" addon module is enabled. You may add additional -addons/plugins using this same line in the configuration file. Change it to read +It indicates the "js_upload" addon module is enabled. +You may add additional addons/plugins using this same line in the configuration file. +Change it to read -`$a->config['system']['addon'] = 'js_upload,poormancron';` + $a->config['system']['addon'] = 'js_upload,poormancron'; and save your changes. + +Updating your installation with git +--- + +You can get the latest changes at any time with + + cd mywebsite + git pull + +The addon tree has to be updated separately like so: + + cd mywebsite/addon + git pull diff --git a/doc/Installing-Connectors.md b/doc/Installing-Connectors.md index 83d6954e7..49f21608f 100644 --- a/doc/Installing-Connectors.md +++ b/doc/Installing-Connectors.md @@ -6,66 +6,69 @@ Installing Connectors (Facebook/Twitter/StatusNet) Friendica uses plugins to provide connectivity to some networks, such as Facebook and Twitter. -There is also a plugin to post through to an existing account on a Status.Net service. You do not require this to communicate with Status.Net members from Friendica - only if you wish to post to an existing account. +There is also a plugin to post through to an existing account on a StatusNet service. +You only need this to post to an already existing StatusNet account, but not to communicate with StatusNet members in general. -All three of these plugins require an account on the target network. In addition you (or typically the server administrator) will need to obtain an API key to provide authenticated access to your Friendica server. +All three plugins require an account on the target network. +In addition you (or typically the server administrator) will need to obtain an API key to provide authenticated access to your Friendica server. -**Site Configuration** +Site Configuration +--- -Plugins must be installed by the site administrator before they can be used. This is accomplished through the site administration panel. +Plugins must be installed by the site administrator before they can be used. +This is accomplished through the site administration panel. +Each of the connectors also requires an "API key" from the service you wish to connect with. +Some plugins allow you to enter this information in the site administration pages, while others may require you to edit your configuration file (.htconfig.php). +The ways to obtain these keys vary between the services, but they all require an existing account on the target service. +Once installed, these API keys can usually be shared by all site members. -Each of the connectors also requires an "API key" from the service you wish to connect with. Some plugins allow you to enter this information in the site administration pages, while others may require you to edit your configuration file (.htconfig.php). The method for obtaining these keys varies greatly - but almost always requires an existing account on the target service. Once installed, these API keys can usually be shared by all site members. +The details of configuring each service follow (much of this information comes directly from the plugin source files): - -The details of configuring each service follows (much of this information comes directly from the plugin source files): - -**Twitter Plugin for Friendica** +Twitter Plugin for Friendica +--- * Author: Tobias Diekershoff * tobias.diekershoff@gmx.net +* License: 3-clause BSD license -* License:3-clause BSD license - -Configuration: -To use this plugin you need a OAuth Consumer key pair (key & secret) -you can get it from Twitter at https://twitter.com/apps +###Configuration +To use this plugin you need a OAuth Consumer key pair (key & secret). +You can get it from [Twitter](https://twitter.com/apps). Register your Friendica site as "Client" application with "Read & Write" access. -We do not need "Twitter as login". When you've registered the app you get the -OAuth Consumer key and secret pair for your application/site. +We do not need "Twitter as login". +When you've registered the app you get a key pair with an OAuth Consumer key and a secret key for your application/site. +Add this key pair to your global .htconfig.php: -Add this key pair to your global .htconfig.php + $a->config['twitter']['consumerkey'] = 'your consumer_key here'; + $a->config['twitter']['consumersecret'] = 'your consumer_secret here'; -``` -$a->config['twitter']['consumerkey'] = 'your consumer_key here'; -$a->config['twitter']['consumersecret'] = 'your consumer_secret here'; -``` +After this, your users can configure their Twitter account settings from "Settings -> Connector Settings". -After this, your user can configure their Twitter account settings -from "Settings -> Connector Settings". +###More documentation -Documentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin +Find the author's documentation here: [http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin](http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin) -**StatusNet Plugin for Friendica** +StatusNet Plugin for Friendica +--- * Author: Tobias Diekershoff * tobias.diekershoff@gmx.net +* License: 3-clause BSD license -* License:3-clause BSD license - -Configuration +###Configuration When the addon is activated the user has to aquire the following in order to connect to the StatusNet account of choice. * The base URL for the StatusNet API, for identi.ca this is https://identi.ca/api/ * OAuth Consumer key & secret -To get the OAuth Consumer key pair the user has to +To get the OAuth Consumer key pair the user has to -(a) ask her Friendica admin if a pair already exists or -(b) has to register the Friendica server as a client application on the StatusNet server. +1 ask her Friendica admin if a pair already exists or +2 has to register the Friendica server as a client application on the StatusNet server. This can be done from the account settings under "Settings -> Connections -> Register an OAuth client application -> Register a new application" on the StatusNet server. @@ -77,56 +80,57 @@ During the registration of the OAuth client remember the following: * with read & write access * the Source URL should be the URL of your Friendica server -After the required credentials for the application are stored in the configuration you have to actually connect your Friendica account with StatusNet. This is done from the Settings -> Connector Settings page. Follow the Sign in with StatusNet button, allow access and then copy the security code into the box provided. Friendica will then try to acquire the final OAuth credentials from the API. +After the required credentials for the application are stored in the configuration you have to actually connect your Friendica account with StatusNet. +This is done from the Settings -> Connector Settings page. +Follow the Sign in with StatusNet button, allow access and then copy the security code into the box provided. +Friendica will then try to acquire the final OAuth credentials from the API. -If successful the addon settings will allow you to select to post your public messages to your StatusNet account (have a look behind the little lock symbol beneath the status "editor" on your Home or Network pages). +If successful, the addon settings will allow you to select to post your public messages to your StatusNet account (have a look behind the little lock symbol beneath the status "editor" on your Home or Network pages). -Documentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin +###More documentation +Find the author's documentation here: [http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin](http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin) +The Friendica/Facebook connector +--- -**Installing the Friendica/Facebook connector** +###Configuration -* register an API key for your site from developer.facebook.com +First, register an API key for your site on [Facebook](developer.facebook.com). +This requires a Facebook account, and may require additional authentication in the form of credit card or mobile phone verification. -This requires a Facebook account, and may require additional authentication in the form of credit card or mobile phone verification. +We'd be very happy if you include "Friendica" in the application name to increase name recognition. +The Friendica icons are also present in the images directory and may be uploaded as a Facebook app icon. +Use images/friendica-16.jpg for the Icon and images/friendica-128.jpg for the logo. -a. We'd be very happy if you include "Friendica" in the application name -to increase name recognition. The Friendica icons are also present -in the images directory and may be uploaded as a Facebook app icon. -Use images/friendica-16.jpg for the Icon and images/friendica-128.jpg for the Logo. - -b. The url should be your site URL with a trailing slash. +The url should be your site URL with a trailing slash. You **may** be required to provide a privacy and/or terms of service URL. -c. Navigate to Set Web->Site URL & Domain -> Website Settings. Set Site URL -to yoursubdomain.yourdomain.com. Set Site Domain to your yourdomain.com. +Navigate to Set Web->Site URL & Domain -> Website Settings. +Set Site URL to yoursubdomain.yourdomain.com. +Set Site Domain to your yourdomain.com. -d. Install the Facebook plugin on your Friendica site at 'admin/plugins'. You should then see a link for Facebook under 'Plugin Features' on the sidebar of the admin panel. Select that. - -e. Enter the App-ID and App Secret that Facebook gave you. Change any other settings as desired. +Install the Facebook plugin on your Friendica site at 'admin/plugins'. +You should then see a link for Facebook under 'Plugin Features' on the sidebar of the admin panel. +Select it. +Enter the App-ID and App Secret that Facebook gave you. +Change any other settings as desired. On Friendica, each member who wishes to use the Facebook connector should visit the Facebook Settings section of their "Settings->Connector Settings" page, and click 'Install Facebook Connector'. Choose the appropriate settings for your usage and privacy requirements. -This will ask you to login to Facebook and grant permission to the -plugin to do its stuff. Allow it to do so. +This will ask you to log into Facebook and grant permission to the plugin to do its stuff. +Allow it to do so. -You're done. To turn it off visit the Connector Settings page again and -'Remove Facebook posting'. +You're done. -Videos and embeds will not be posted if there is no other content. Links -and images will be converted to a format suitable for the Facebook API and -long posts truncated - with a link to view the full post. - -Facebook contacts will also not be able to view "private" photos, as they are not able to authenticate to your site to establish identity. We will address this in a future release. - - - - - +To turn it off visit the Connector Settings page again and 'Remove Facebook posting'. +Videos and embeds will not be posted if there is no other content. +Links and images will be converted to a format suitable for the Facebook API and long posts truncated - with a link to view the full post. +Facebook contacts will also not be able to view "private" photos, as they are not able to authenticate to your site. +We will address this in a future release. diff --git a/doc/Making-Friends.md b/doc/Making-Friends.md index e0b1a254e..7355a10af 100644 --- a/doc/Making-Friends.md +++ b/doc/Making-Friends.md @@ -3,55 +3,104 @@ Making Friends * [Home](help) -Friendship in Friendica can take on a great many different meanings. But let's keep it simple, you want to be friends with somebody. How do you do it? +Friendship in Friendica can take on a great many different meanings. +But let's keep it simple, you want to be friends with somebody. +How do you do it? -The first thing you can do is look at the Directory. The directory is split up into two parts. If you click the directory button, you will be presented with a list of all members (who chose to be listed) on your server. You'll also see a link to the Global Directory. If you click through to the global directory, you will be presented with a list of everybody who chose to be listed across all instances of Friendica. You will also see a "Show Community Forums" link, which will direct you to Groups, Forums and Fanpages. You connect to people, groups and forums in the same way, except groups and forums will automatically accept your introduction request, whereas a human will approve you manually. +The Directories +--- +Friendica has two different kinds of "addressbook": +The directory of the Friendica server you are registered on and the global directory that collects account information across all Friendica instances. -To connect with other Friendica users: +The first thing you can do is look at the **Directory**. +The directory is split up into two parts. +If you click the directory button, you will be presented with a list of all members (who chose to be listed) on your server. -Visit their profile. Just beneath their profile picture will be the word 'Connect' (we're assuming this is an English language profile). +You'll also see a link to the **Global Directory**. +If you click through to the global directory, you will be presented with a list of everybody who chose to be listed across all instances of Friendica. +You will also see a "Show Community Forums" link, which will direct you to Groups, Forums and Fanpages. +You connect to people, groups and forums in the same way, except groups and forums will automatically accept your introduction request, whereas a human will approve you manually. -Click that. It will take you to a "Connect" form. +Connect to other Friendica users +--- -This is going to ask you for your Identity Address. This is necessary so that this person's website can find yours. +Visit their profile. +Just beneath their profile picture will be the word 'Connect' (we're assuming this is an English language profile). +Click that 'Connect' button. +It will take you to a 'Connect' form. + +The form is going to ask you for your Identity Address. +This is necessary so that this person's website can find yours. What do you put in the box? If your Friendica site is called "demo.friendica.com" and your username/nickname on that site is "bob", you would put in "bob@demo.friendica.com". -Notice this looks just like an email address. It was meant to be that way. It's easy for people to remember. +Notice this looks just like an email address. +It was meant to be that way. +It's easy for people to remember. You *could* also put in the URL of your "home" page, such as "http://demo.friendica.com/profile/bob", but the email-style address is certainly easier. -When you've submitted the connection page, it will take you back to your own site where you must then login (if necessary) and verify the connection request on *your* site. Once you've done this, the two websites can communicate with each other to complete the process (after your new friend has approved the request). +When you've submitted the connection page, it will take you back to your own site where you must then login (if necessary) and verify the connection request on *your* site. +Once you've done this, the two websites can communicate with each other to complete the process (after your new friend has approved the request). -If you already know somebody's Identity Address, you can enter it in the "connect" box on your "Contacts" page. This will take you through a similar process. +If you already know somebody's Identity Address, you can enter it in the "connect" box on your "Contacts" page. +This will take you through a similar process. -**Alternate Networks** +Connect to users of alternate networks +--- +###StatusNet/GNUSocial, Google Plus, Twitter, Diaspora +You can also use your Identity Address or other people's Identity Addresses to become friends across networks. +The list of possible networks is growing all the time. +If you know (for instance) "bob" on identi.ca (a StatusNet site) you could put bob@identi.ca into your Contact page and become friends across networks. +(Or you can put in the URL to Bob's identi.ca page if you wish). -You can also use your Identity Address or other people's Identity Addresses to become friends across networks. The list of possible networks is growing all the time. If you know (for instance) "bob" on identi.ca (a Status.Net site) you could put bob@identi.ca into your Contact page and become friends across networks. (Or you can put in the URL to Bob's identi.ca page if you wish). You can also be "partial" friends with somebody on Google Buzz by putting in their gmail address. Google Buzz does not yet support all the protocols we need for direct messaging, but you should be able to follow status updates from within Friendica. You can do the same for Twitter accounts and Diaspora accounts. In fact you can "follow" most anybody or any website that produces a syndication feed (RSS/Atom,etc.). If we can find an information stream and a name to attach to the contact, we'll try to connect with them. +You can also be "partial" friends with somebody on Google Plus by putting in their gmail address. +Google Plus does not yet support all the protocols we need for direct messaging, but you should be able to follow status updates from within Friendica. -If you have supplied your mailbox connection information on your Settings page, you can enter the email address of anybody that has sent you a message recently and have their email messages show up in your social stream. You can also reply to them from within Friendica. +You can do the same for Twitter accounts and Diaspora accounts. -People can also become friends with you from other networks. If a friend of yours has an identi.ca account, they can become friends with you by putting your Friendica Identity Address into their identi.ca subscription dialog box. A similar mechanism is available for Diaspora members, by putting your iendtity address into their search bar. +In fact, you can "follow" almost anybody or any website that produces a syndication feed (RSS/Atom,etc.). +If we can find an information stream and a name to attach to the contact, we'll try to connect with them. + +###Email +If you have supplied your mailbox connection information on your Settings page, you can enter the email address of anybody that has sent you a message recently and have their email messages show up in your social stream. +You can also reply to them from within Friendica. + +People can also become friends with you from other networks. +If a friend of yours has an identi.ca account, they can become friends with you by putting your Friendica Identity Address into their identi.ca subscription dialog box. +A similar mechanism is available for Diaspora members, by putting your identity address into their search bar. Note: Some versions of StatusNet software may require the full URL to your profile and may not work with the identity address. -When somebody requests friendship you will receive a notification. You will need to approve this before the friendship is complete. +Notification +--- +When somebody requests friendship you will receive a notification. +You will need to approve this before the friendship is complete. -Some networks allow people to send you messages without being friends and without your approval. Friendica does not allow this by default, as it would open a gateway for spam. +Approval +--- +Some networks allow people to send you messages without being friends and without your approval. +Friendica does not allow this by default, as it would open a gateway for spam. -When you receive a friendship notification from another Friendica member, you will have the option of allowing them as a "fan" or as a "friend". If they are a fan, they can see what you have to say, including private communications that you send to them, but not vice versa. As a friend, you can both communicate with each other. +Unilateral or bilateral friendships +--- +When you receive a friendship notification from another Friendica member, you will have the option of allowing them as a "fan" or as a "friend". +If they are a fan, they can see what you have to say, including private communications that you send to them, but not vice versa. +As a friend, you can both communicate with each other. -Diaspora uses a different terminology, and you are given the option of allowing them to "share with you", or being full friends. +Diaspora uses a different terminology, and you are given the option of allowing them to "share with you", or being full friends. -Once you have become friends, if you find the person constantly sends you spam or worthless information, you can "Ignore" them - without breaking off the friendship or even alerting them to the fact that you aren't interested in anything they are saying. In many ways they are like a "fan" - but they don't know this. They think they are a friend. +Ignoring, blocking and deleting contacts +--- +Once you have become friends, if you find the person constantly sends you spam or worthless information, you can "Ignore" them - without breaking off the friendship or even alerting them to the fact that you aren't interested in anything they are saying. +In many ways they are like a "fan" - but they don't know this. +They think they are a friend. -You can also "block" a person. This completely blocks communications with that person. They may still be able to see your public posts, as can anybody in the world, but they cannot communicate with you directly. - -You can also delete a friend no matter what the friendship status - which complete removes everything relating to that person from your website. - - - +You can also "block" a person. +This completely blocks communications with that person. +They may still be able to see your public posts, as can anybody in the world, but they cannot communicate with you directly. +You can also delete a friend no matter what the friendship status - which completely removes everything relating to that person from your website. diff --git a/doc/Message-Flow.md b/doc/Message-Flow.md index bb1c063d3..ce0a4248a 100644 --- a/doc/Message-Flow.md +++ b/doc/Message-Flow.md @@ -1,13 +1,15 @@ Friendica Message Flow +=== -This page attempts to document some of the details of how messages get from one person to another in the Friendica network. There are multiple paths, using multiple protocols and message formats. - -Those attempting to understand these message flows should become familiar with (at the minimum) the DFRN protocol document (http://dfrn.org/dfrn.pdf) and the message passing elements of the OStatus stack (salmon and Pubsubhubbub). +This page documents some of the details of how messages get from one person to another in the Friendica network. +There are multiple paths, using multiple protocols and message formats. +Those attempting to understand these message flows should become familiar with (at the minimum) the [DFRN protocol document](http://dfrn.org/dfrn.pdf) and the message passing elements of the OStatus stack (salmon and Pubsubhubbub). Most message passing involves the file include/items.php, which has functions for several feed-related import/export activities. -When a message is posted, all immediate deliveries to all networks are made using include/notifier.php, which chooses how (and to whom) to deliver the message. This file also invokes the local side of all deliveries including DFRN-notify. +When a message is posted, all immediate deliveries to all networks are made using include/notifier.php, which chooses how (and to whom) to deliver the message. +This file also invokes the local side of all deliveries including DFRN-notify. mod/dfrn_notify.php handles the remote side of DFRN-notify. @@ -19,36 +21,42 @@ Push (pubsubhubbub) feeds arrive via mod/pubsub.php DFRN-poll feed imports arrive via include/poller.php as a scheduled task, this implements the local side of the DFRN-poll protocol. - - - Scenario #1. Bob posts a public status message - -This is a public message with no conversation members so no private transport is used. There are two paths it can take - as a bbcode path to DFRN clients, and converted to HTML with the server's PuSH (pubsubhubbub) hubs notified. When a PuSH hub is operational, dfrn-poll clients prefer to receive their information through the PuSH channel. They will fall back on a daily poll in case the hub has delivery issues (this is quite common when using the default Google reference hub). If there is no specified hub or hubs, DFRN clients will poll at a configurable (per-contact) rate at up to 5-minute intervals. Feeds retrieved via dfrn-poll are bbcode and may also contain private conversations which the poller has permissions to see. +--- +This is a public message with no conversation members so no private transport is used. +There are two paths it can take - as a bbcode path to DFRN clients, and converted to HTML with the server's PuSH (pubsubhubbub) hubs notified. +When a PuSH hub is operational, dfrn-poll clients prefer to receive their information through the PuSH channel. +They will fall back on a daily poll in case the hub has delivery issues (this is quite common when using the default Google reference hub). +If there is no specified hub or hubs, DFRN clients will poll at a configurable (per-contact) rate at up to 5-minute intervals. +Feeds retrieved via dfrn-poll are bbcode and may also contain private conversations which the poller has permissions to see. Scenario #2. Jack replies to Bob's public message. Jack is on the Friendica/DFRN network. - -Jack uses dfrn-notify to send a direct reply to Bob. Bob then creates a feed of the conversation and sends it to everybody involved in the conversation using dfrn-notify. PuSH hubs are notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). +--- +Jack uses dfrn-notify to send a direct reply to Bob. +Bob then creates a feed of the conversation and sends it to everybody involved in the conversation using dfrn-notify. +PuSH hubs are notified that new content is available. +The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). Scenario #3. Mary replies to Bob's public message. Mary is on the Friendica/DFRN network. - -Mary uses dfrn-notify to send a direct reply to Bob. Bob then creates a feed of the conversation and sends it to everybody involved in the conversation (excluding himself, the conversation is now sent to both Jack and Mary). Messages are sent using dfrn-notify. Push hubs are also notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). +--- +Mary uses dfrn-notify to send a direct reply to Bob. +Bob then creates a feed of the conversation and sends it to everybody involved in the conversation (excluding himself, the conversation is now sent to both Jack and Mary). +Messages are sent using dfrn-notify. +Push hubs are also notified that new content is available. +The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). Scenario #4. William replies to Bob's public message. William is on the OStatus network. - -William uses salmon to notify Bob of the reply. Content is html embedded in salmon magic envelope. Bob then creates a feed of the conversation and sends it to all Friendica participants involved in the conversation using dfrn-notify (excluding himself, the conversation is sent to both Jack and Mary). Push hubs are notified that new content is available. The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). +--- +William uses salmon to notify Bob of the reply. +Content is html embedded in salmon magic envelope. +Bob then creates a feed of the conversation and sends it to all Friendica participants involved in the conversation using dfrn-notify (excluding himself, the conversation is sent to both Jack and Mary). +Push hubs are notified that new content is available. +The hub or hubs will then retrieve the latest feed and transmit it to all hub subscribers (which may be on different networks). Scenario #5. Bob posts a private message to Mary and Jack. - -Message is delivered immediately to Mary and Jack using dfrn_notify. Public hubs are not notified. Requeueing is attempted in case of timeout. Replies follow the same flow as the public replies except that hubs are not notified and message is never made available in the public feed. The entire conversation is also made available to Mary and Jack (and nobody else) through their dfrn-poll personalised feed. - - - - - - - - - - - +--- +Message is delivered immediately to Mary and Jack using dfrn_notify. +Public hubs are not notified. +Requeueing is attempted in case of timeout. +Replies follow the same flow as the public replies except that hubs are not notified and message is never made available in the public feed. +The entire conversation is also made available to Mary and Jack (and nobody else) through their dfrn-poll personalised feed. diff --git a/doc/Move-Account.md b/doc/Move-Account.md index 35c50259e..394d08fa3 100644 --- a/doc/Move-Account.md +++ b/doc/Move-Account.md @@ -1,35 +1,27 @@ -Move Account +How to move your account between servers ============ * [Home](help) -! **this is an experimental feature** +! **This is an experimental feature** -** How to move an account between servers ** +* Go to "Settings" -> "[Export personal data](uexport)" +* Click on "Export account" to save your account data. +* **Save the file in a secure place!** It contains your details, your contacts, groups, and personal settings. It also contains your secret keys to authenticate yourself to your contacts. +* Go to your new server, and open *http://newserver.com/uimport* (there is not a direct link to this page at the moment). +* Do NOT create a new account prior to importing your old settings - uimport should be used *instead* of register. +* Load your saved account file and click "Import". +* After the move, the account on the old server will not work reliably anymore, and should be not used. -Go to "Settings" -> "[Export personal data](uexport)" -Click on "Export account" to save your account data. -This file contains your details, your contacts, groups, and personal settings. -It also contains your secret keys to authenticate yourself to your contacts: -**save this file in a secure place**! - -Go to your new server, and open *http://newserver.com/uimport* (there is not a -direct link to this page at the moment). - -Do NOT create a new account prior to importing your old settings - uimport should be used *instead* of register. - -Load your saved account file and click "Import". +Friendica contacts +--- Friendica will recreate your account on the new server, with your contacts and groups. -A message is sent to Friendica contacts, to inform them about your move: if your -contacts are runnning on an updated server, your details on their -side will be automatically updated. -Contacts on Statusnet/Identi.ca or Diaspora will be archived, as we can't inform -them about your move. -You should ask them to remove your contact from their lists and re-add you, and you -should do the same with their contact. - -After the move, the account on the old server will not work reliably anymore, and -should be not used. +A message is sent to Friendica contacts, to inform them about your move: +If your contacts are runnning on an updated server, your details on their side will be automatically updated. +StatusNet/GNUSocial/Diaspora contacts +--- +Contacts on Statusnet/Identi.ca or Diaspora will be archived, as we can't inform them about your move. +You should ask them to remove your contact from their lists and re-add you, and you should do the same with their contact. diff --git a/doc/Plugins.md b/doc/Plugins.md index 833c1d200..8369e9fad 100644 --- a/doc/Plugins.md +++ b/doc/Plugins.md @@ -1,10 +1,19 @@ Friendica Addon/Plugin development ========================== -Please see the sample addon 'randplace' for a working example of using some of these features. The facebook addon provides an example of integrating both "addon" and "module" functionality. Addons work by intercepting event hooks - which must be registered. Modules work by intercepting specific page requests (by URL path). +Please see the sample addon 'randplace' for a working example of using some of these features. +The facebook addon provides an example of integrating both "addon" and "module" functionality. +Addons work by intercepting event hooks - which must be registered. +Modules work by intercepting specific page requests (by URL path). - -Plugin names cannot contain spaces or other punctuation and are used as filenames and function names. You may supply a "friendly" name within the comment block. Each addon must contain both an install and an uninstall function based on the addon/plugin name. For instance "plugin1name_install()". These two functions take no arguments and are usually responsible for registering (and unregistering) event hooks that your plugin will require. The install and uninstall functions will also be called (i.e. re-installed) if the plugin changes after installation - therefore your uninstall should not destroy data and install should consider that data may already exist. Future extensions may provide for "setup" amd "remove". +Plugin names cannot contain spaces or other punctuation and are used as filenames and function names. +You may supply a "friendly" name within the comment block. +Each addon must contain both an install and an uninstall function based on the addon/plugin name. +For instance "plugin1name_install()". +These two functions take no arguments and are usually responsible for registering (and unregistering) event hooks that your plugin will require. +The install and uninstall functions will also be called (i.e. re-installed) if the plugin changes after installation. +Therefore your uninstall should not destroy data and install should consider that data may already exist. +Future extensions may provide for "setup" amd "remove". Plugins should contain a comment block with the four following parameters: @@ -15,63 +24,71 @@ Plugins should contain a comment block with the four following parameters: * Author: John Q. Public */ - - - Register your plugin hooks during installation. register_hook($hookname, $file, $function); $hookname is a string and corresponds to a known Friendica hook. -$file is a pathname relative to the top-level Friendica directory. This *should* be 'addon/plugin_name/plugin_name.php' in most cases. +$file is a pathname relative to the top-level Friendica directory. +This *should* be 'addon/plugin_name/plugin_name.php' in most cases. $function is a string and is the name of the function which will be executed when the hook is called. - +Arguments +--- Your hook callback functions will be called with at least one and possibly two arguments - function myhook_function(&$a, &$b) { - } -If you wish to make changes to the calling data, you must declare them as -reference variables (with '&') during function declaration. +If you wish to make changes to the calling data, you must declare them as reference variables (with '&') during function declaration. -$a is the Friendica 'App' class - which contains a wealth of information -about the current state of Friendica, such as which module has been called, -configuration info, the page contents at the point the hook was invoked, profile -and user information, etc. It is recommeded you call this '$a' to match its usage -elsewhere. +###$a +$a is the Friendica 'App' class. +It contains a wealth of information about the current state of Friendica: -$b can be called anything you like. This is information which is specific to the hook -currently being processed, and generally contains information that is being immediately -processed or acted on that you can use, display, or alter. Remember to declare it with -'&' if you wish to alter it. +* which module has been called, +* configuration information, +* the page contents at the point the hook was invoked, +* profile and user information, etc. + +It is recommeded you call this '$a' to match its usage elsewhere. + +###$b +$b can be called anything you like. +This is information specific to the hook currently being processed, and generally contains information that is being immediately processed or acted on that you can use, display, or alter. +Remember to declare it with '&' if you wish to alter it. Modules -------- -Plugins/addons may also act as "modules" and intercept all page requests for a given URL path. In order for a plugin to act as a module it needs to define a function "plugin_name_module()" which takes no arguments and need not do anything. +Plugins/addons may also act as "modules" and intercept all page requests for a given URL path. +In order for a plugin to act as a module it needs to define a function "plugin_name_module()" which takes no arguments and needs not do anything. + +If this function exists, you will now receive all page requests for "http://my.web.site/plugin_name" - with any number of URL components as additional arguments. +These are parsed into an array $a->argv, with a corresponding $a->argc indicating the number of URL components. +So http://my.web.site/plugin/arg1/arg2 would look for a module named "plugin" and pass its module functions the $a App structure (which is available to many components). +This will include: -If this function exists, you will now receive all page requests for "http://my.web.site/plugin_name" - with any number of URL components as additional arguments. These are parsed into an array $a->argv, with a corresponding $a->argc indicating the number of URL components. So http://my.web.site/plugin/arg1/arg2 would look for a module named "plugin" and pass its module functions the $a App structure (which is available to many components). This will include: $a->argc = 3 $a->argv = array(0 => 'plugin', 1 => 'arg1', 2 => 'arg2'); -Your module functions will often contain the function plugin_name_content(&$a), which defines and returns the page body content. They may also contain plugin_name_post(&$a) which is called before the _content function and typically handles the results of POST forms. You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation. - +Your module functions will often contain the function plugin_name_content(&$a), which defines and returns the page body content. +They may also contain plugin_name_post(&$a) which is called before the _content function and typically handles the results of POST forms. +You may also have plugin_name_init(&$a) which is called very early on and often does module initialisation. Templates ---------- -If your plugin need some template, you can use Friendica template system. Friendica use [smarty3](http://www.smarty.net/) as template engine. +If your plugin needs some template, you can use the Friendica template system. +Friendica uses [smarty3](http://www.smarty.net/) as a template engine. -Put your tpl files in *templates/* subfolder of your plugin. +Put your tpl files in the *templates/* subfolder of your plugin. -In your code, like in function plugin_name_content(), load template file and execute it passing needed values: +In your code, like in the function plugin_name_content(), load the template file and execute it passing needed values: # load template file. first argument is the template name, # second is the plugin path relative to friendica top folder @@ -80,143 +97,181 @@ In your code, like in function plugin_name_content(), load template file and exe # apply template. first argument is the loaded template, # second an array of 'name'=>'values' to pass to template $output = replace_macros($tpl,array( - 'title' => 'My beautifull plugin', + 'title' => 'My beautiful plugin', )); -See also wiki page [Quick Template Guide](https://github.com/friendica/friendica/wiki/Quick-Template-Guide) +See also the wiki page [Quick Template Guide](https://github.com/friendica/friendica/wiki/Quick-Template-Guide). -Current hooks: --------------- +Current hooks +------------- -**'authenticate'** - called when a user attempts to login. - $b is an array - 'username' => the supplied username - 'password' => the supplied password - 'authenticated' => set this to non-zero to authenticate the user. - 'user_record' => successful authentication must also return a valid user record from the database +###'authenticate' +'authenticate' is called when a user attempts to login. +$b is an array containing: -**'logged_in'** - called after a user has successfully logged in. - $b contains the $a->user array + 'username' => the supplied username + 'password' => the supplied password + 'authenticated' => set this to non-zero to authenticate the user. + 'user_record' => successful authentication must also return a valid user record from the database +###'logged_in' +'logged_in' is called after a user has successfully logged in. +$b contains the $a->user array. -**'display_item'** - called when formatting a post for display. - $b is an array - 'item' => The item (array) details pulled from the database - 'output' => the (string) HTML representation of this item prior to adding it to the page +###'display_item' +'display_item' is called when formatting a post for display. +$b is an array: -**'post_local'** - called when a status post or comment is entered on the local system - $b is the item array of the information to be stored in the database - {Please note: body contents are bbcode - not HTML) + 'item' => The item (array) details pulled from the database + 'output' => the (string) HTML representation of this item prior to adding it to the page -**'post_local_end'** - called when a local status post or comment has been stored on the local system - $b is the item array of the information which has just been stored in the database - {Please note: body contents are bbcode - not HTML) +###'post_local' +* called when a status post or comment is entered on the local system +* $b is the item array of the information to be stored in the database +* Please note: body contents are bbcode - not HTML -**'post_remote'** - called when receiving a post from another source. This may also be used to post local activity or system generated messages. - $b is the item array of information to be stored in the database and the item - body is bbcode. +###'post_local_end' +* called when a local status post or comment has been stored on the local system +* $b is the item array of the information which has just been stored in the database +* Please note: body contents are bbcode - not HTML -**'settings_form'** - called when generating the HTML for the user Settings page - $b is the (string) HTML of the settings page before the final '' tag. +###'post_remote' +* called when receiving a post from another source. This may also be used to post local activity or system generated messages. +* $b is the item array of information to be stored in the database and the item body is bbcode. -**'settings_post'** - called when the Settings pages are submitted. - $b is the $_POST array +###'settings_form' +* called when generating the HTML for the user Settings page +* $b is the (string) HTML of the settings page before the final '' tag. -**'plugin_settings'** - called when generating the HTML for the addon settings page - $b is the (string) HTML of the addon settings page before the final '' tag. +###'settings_post' +* called when the Settings pages are submitted +* $b is the $_POST array -**'plugin_settings_post'** - called when the Addon Settings pages are submitted. - $b is the $_POST array +###'plugin_settings' +* called when generating the HTML for the addon settings page +* $b is the (string) HTML of the addon settings page before the final '' tag. -**'profile_post'** - called when posting a profile page. - $b is the $_POST array +###'plugin_settings_post' +* called when the Addon Settings pages are submitted +* $b is the $_POST array -**'profile_edit'** - called prior to output of profile edit page - $b is array - 'profile' => profile (array) record from the database - 'entry' => the (string) HTML of the generated entry +###'profile_post' +* called when posting a profile page +* $b is the $_POST array +###'profile_edit' +'profile_edit' is called prior to output of profile edit page. +$b is an array containing: -**'profile_advanced'** - called when the HTML is generated for the 'Advanced profile', corresponding to the 'Profile' tab within a person's profile page. - $b is the (string) HTML representation of the generated profile - (The profile array details are in $a->profile) + 'profile' => profile (array) record from the database + 'entry' => the (string) HTML of the generated entry -**'directory_item'** - called from the Directory page when formatting an item for display - $b is an array - 'contact' => contact (array) record for the person from the database - 'entry' => the (string) HTML of the generated entry +###'profile_advanced' +* called when the HTML is generated for the 'Advanced profile', corresponding to the 'Profile' tab within a person's profile page +* $b is the (string) HTML representation of the generated profile +* The profile array details are in $a->profile. -**'profile_sidebar_enter'** - called prior to generating the sidebar "short" profile for a page - $b is (array) the person's profile array +###'directory_item' +'directory_item' is called from the Directory page when formatting an item for display. +$b is an array: -**'profile_sidebar'** - called when generating the sidebar "short" profile for a page - $b is an array - 'profile' => profile (array) record for the person from the database - 'entry' => the (string) HTML of the generated entry + 'contact' => contact (array) record for the person from the database + 'entry' => the (string) HTML of the generated entry -**'contact_block_end'** - called when formatting the block of contacts/friends on a profile sidebar has completed - $b is an array - 'contacts' => array of contacts - 'output' => the (string) generated HTML of the contact block +###'profile_sidebar_enter' +* called prior to generating the sidebar "short" profile for a page +* $b is the person's profile array -**'bbcode'** - called during conversion of bbcode to html - $b is (string) converted text +###'profile_sidebar' +'profile_sidebar is called when generating the sidebar "short" profile for a page. +$b is an array: -**'html2bbcode'** - called during conversion of html to bbcode (e.g. remote message posting) - $b is (string) converted text + 'profile' => profile (array) record for the person from the database + 'entry' => the (string) HTML of the generated entry -**'page_header'** - called after building the page navigation section - $b is (string) HTML of nav region +###'contact_block_end' +is called when formatting the block of contacts/friends on a profile sidebar has completed. +$b is an array: -**'personal_xrd'** - called prior to output of personal XRD file. - $b is an array - 'user' => the user record for the person - 'xml' => the complete XML to be output + 'contacts' => array of contacts + 'output' => the (string) generated HTML of the contact block -**'home_content'** - called prior to output home page content, shown to unlogged users - $b is (string) HTML of section region +###'bbcode' +* called during conversion of bbcode to html +* $b is a string converted text -**'contact_edit'** - called when editing contact details on an individual from the Contacts page - $b is (array) - 'contact' => contact record (array) of target contact - 'output' => the (string) generated HTML of the contact edit page +###'html2bbcode' +* called during conversion of html to bbcode (e.g. remote message posting) +* $b is a string converted text -**'contact_edit_post'** - called when posting the contact edit page - $b is the $_POST array +###'page_header' +* called after building the page navigation section +* $b is a string HTML of nav region -**'init_1'** - called just after DB has been opened and before session start - $b is not used or passed +###'personal_xrd' +'personal_xrd' is called prior to output of personal XRD file. +$b is an array: -**'page_end'** - called after HTML content functions have completed - $b is (string) HTML of content div + 'user' => the user record for the person + 'xml' => the complete XML to be output -**'avatar_lookup'** - called when looking up the avatar - $b is (array) - 'size' => the size of the avatar that will be looked up - 'email' => email to look up the avatar for - 'url' => the (string) generated URL of the avatar +###'home_content' +* called prior to output home page content, shown to unlogged users +* $b is (string) HTML of section region -**'emailer_send_prepare'** - called from Emailer::send() before building the mime message - $b is (array) , params to Emailer::send() - 'fromName' => name of the sender - 'fromEmail' => email fo the sender - 'replyTo' => replyTo address to direct responses - 'toEmail' => destination email address - 'messageSubject' => subject of the message - 'htmlVersion' => html version of the message - 'textVersion' => text only version of the message - 'additionalMailHeader' => additions to the smtp mail header +###'contact_edit' +is called when editing contact details on an individual from the Contacts page. +$b is an array: -**'emailer_send'** - called before calling PHP's mail() - $b is (array) , params to mail() - 'to' - 'subject' - 'body' - 'headers' + 'contact' => contact record (array) of target contact + 'output' => the (string) generated HTML of the contact edit page +###'contact_edit_post' +* called when posting the contact edit page. +* $b is the $_POST array -A complete list of all hook callbacks with file locations (generated 14-Feb-2012): Please see the source for details of any hooks not documented above. +###'init_1' +* called just after DB has been opened and before session start +* $b is not used or passed +###'page_end' +* called after HTML content functions have completed +* $b is (string) HTML of content div + +###'avatar_lookup' +'avatar_lookup' is called when looking up the avatar. +$b is an array: + + 'size' => the size of the avatar that will be looked up + 'email' => email to look up the avatar for + 'url' => the (string) generated URL of the avatar + +###'emailer_send_prepare' +'emailer_send_prepare' called from Emailer::send() before building the mime message. +$b is an array, params to Emailer::send() + + 'fromName' => name of the sender + 'fromEmail' => email fo the sender + 'replyTo' => replyTo address to direct responses + 'toEmail' => destination email address + 'messageSubject' => subject of the message + 'htmlVersion' => html version of the message + 'textVersion' => text only version of the message + 'additionalMailHeader' => additions to the smtp mail header + +###'emailer_send' +is called before calling PHP's mail(). +$b is an array, params to mail() + + 'to' + 'subject' + 'body' + 'headers' + +Complete list of hook callbacks +--- + +Here is a complete list of all hook callbacks with file locations (as of 14-Feb-2012). Please see the source for details of any hooks not documented above. boot.php: call_hooks('login_hook',$o); diff --git a/doc/Profiles.md b/doc/Profiles.md index 716db908e..715d27d95 100644 --- a/doc/Profiles.md +++ b/doc/Profiles.md @@ -3,49 +3,83 @@ Profiles * [Home](help) -Friendica has unlimited profiles. You may use different profiles to show different "sides of yourself" to different audiences. +Friendica has unlimited profiles. +You may use different profiles to show different "sides of yourself" to different audiences. -You always have a profile known as your "default" or "public" profile. This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). You may, and probably should restrict the information you make available on your public profile. +Default / public profile +--- +You always have a profile known as your "default" or "public" profile. +This profile is always available to the general public and cannot be hidden (there may be rare exceptions on privately run or disconnected sites). +You may, and probably should restrict the information you make available on your public profile. -That said, if you want other friends to be able to find you, it helps to have the following information in your public profile... +That said, if you want other friends to be able to find you, it helps to have the following information in your public profile: * Your real name * A photo of **you** * Your location on the planet, at least to a country level. -Without this basic information, you could get very lonely here. Most people (even your best friends) will not try and connect with somebody that has a fake name or doesn't contain a real photo. +Without this basic information, you could get very lonely here. +Most people (even your best friends) will not try and connect with somebody that has a fake name or doesn't contain a real photo. -In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Public Keywords" to your profile. Such as "music, linux, photography" or whatever. You can add as many keywords as you like. +In addition, if you'd like to meet people that share some general interests with you, please take a moment and add some "Public Keywords" to your profile. +Such as "music, linux, photography" or whatever. +You can add as many keywords as you like. +Your default or public profile is also shown to contacts on other networks, since they do not have the ability to view your private profiles. +Only members of the Friendica network can see alternate/private profiles. -Your default or public profile is also shown to contacts on other networks, since they do not have the ability to view your private profiles. Only members of the Friendica network can see alternate/private profiles. +Alternate profiles +--- +To create an alternate profile, select "Profiles" from the menu of your Friendica site. +You may edit an existing profile, change the profile photo, or create a new profile. +You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again. +To assign a profile to specific persons, select the person from your "Contacts" page and click the pencil "Edit" icon. +You will find a dropdown box listing the various profiles available. +If this box is not selectable, the person is not in a supported network and cannot be assigned a specific profile. -To create an alternate profile, select "Profiles" from the menu of your Friendica site. You may edit an existing profile, change the profile photo, or create a new profile. You may also create a "clone" of an existing profile if you only wish to change a few items but don't wish to enter all the information again. +Once a profile has been selected, when the person views your profile from one of the "magic profile links" on their site, they will see the private profile you have assigned. +If they are not logged into their site or view your profile from elsewhere, they will see your public profile. -To assign a profile to specific persons, select the person from your "Contacts" page and click the pencil "Edit" icon. You will find a dropdown box listing the various profiles available. If this box is not selectable, the person is not in a supported network and cannot be assigned a specific profile. +A magic profile link is indicated by a special cursor when hovering over a contact's name or photo. +Currently this cursor is a hand next to a small padlock. +These magic cursors indicate that by following the link, you are able to access special areas of the other person's pages which are only available to friends and may not be available to the general public. -Once a profile has been selected, when the person views your profile from one of the "magic profile links" on their site, they will see the private profile you have assigned. If they are not logged into their site or view your profile from elsewhere, they will see your public profile. +You may also discover that (assuming you have the proper permissions) you may be able to post directly on the other person's profile (often called a "wall-to-wall" post). +You may also be able to comment directly on posts from while visiting the other person's profile page. -A magic profile link is indicated by a special cursor when hovering over a contact's name or photo. Currently this cursor is a hand next to a small padlock. These magic cursors indicate that by following the link, you are able to access special areas of the other person's pages which are only available to friends and may not be available to the general public. - -You may also discover that (assuming you have the proper permissions) you may be able to post directly on the other person's profile (often called a "wall-to-wall" post). You may also be able to comment directly on posts from while visiting the other person's profile page. - -There are two settings which allow you to publish your profile to a directory and ensure that it can be found by others. You can change these through settings on the "Settings" page. One setting allows you to publish your profile in the site directory of this Friendica server. Another option (this may have been disabled by the site creator) allows you to publish your profile in the "Global Directory". This is a mega directory which contains people from many other Friendica installations world-wide. +There are two settings which allow you to publish your profile to a directory and ensure that it can be found by others. +You can change these through settings on the "Settings" page. +One setting allows you to publish your profile in the site directory of this Friendica server. +Another option (this may have been disabled by the site creator) allows you to publish your profile in the "Global Directory". +This is a mega directory which contains people from many other Friendica installations world-wide. If you do not wish to be visible to any of these sites, you may leave your profile unpublished. -Although you may have multiple profiles, you only have one profile photo. This is intentional. In early tests we experimented with different photos for each profile and found it was very confusing for people. They might see a different picture depending on what website they visited or what conversation they were in, and often alerted them to the fact that other people might be able to see different profiles of you than they could see. +Although you may have multiple profiles, you only have one profile photo. +This is intentional. +In early tests we experimented with different photos for each profile and found it was very confusing for people. +They might see a different picture depending on what website they visited or what conversation they were in, and often alerted them to the fact that other people might be able to see different profiles of you than they could see. (But you can use the rich-text information boxes within a profile such as "Tell us about yourself" and link other photos onto the page.) -**Keywords and Directory Search** +Keywords and Directory Search +--- +On the site Directory page, you may search for people with published profiles who are on this site. +The search is typically for your nickname or part of your full name. +However this search will also match against other profile fields - such as gender, location, "about", work, and education. +You may also include "Keywords" in your default profile - which may be used to search for common interests with other members. +You have two sets of keywords available - public and private. +Private keywords are *not* visible to anybody. +You could use these keywords to locate people who share membership in secret societies, or that share a love of fishing (for example) - without making this information visible on your public profile. +Public keywords are used in the friend suggestion tool and although they aren't readily visible, they may be seen by viewing the HTML of your profile page. -On the site Directory page, you may search for people with published profiles who are on this site. The search is typically for your nickname or part of your full name. However this search will also match against other profile fields - such as gender, location, "about", work, and education. You may also include "Keywords" in your default profile - which may be used to search for common interests with other members. You have two sets of keywords available - public and private. Private keywords are *not* visible to anybody. You could use these keywords to locate people who share membership in secret societies, or that share a love of fishing (for example) - without making this information visible on your public profile. Public keywords are used in the friend suggestion tool and although they aren't readily visible, they may be seen by viewing the HTML of your profile page. +Directory searches are also able to use "boolean" logic so that you can search for "+lesbian +Florida" and find those who's sexual preference (or keywords) contain the world "lesbian" and that live in Florida. +See the section on "Topical Tags" on the [Tags-and-Mentions](help/Tags-and-Mentions) page for more information on performing boolean searches. -Directory searches are also able to use "boolean" logic so that you can search for "+lesbian +Florida" and find those who's sexual preference (or keywords) contain the world "lesbian" and that live in Florida. See the section on "Topical Tags" on the [Tags-and-Mentions](help/Tags-and-Mentions) page for more information on performing boolean searches. - -On your Contacts page is a link to "Find People with Shared Interests" (unless your site administrator has disabled the global directory). This will combine both your public and private keywords, and find people in the global directory who have matching and/or similar keywords. (Your private keywords are not identified or stored on the global directory). The more keywords you provide, the more relevant the search results that are returned. These are sorted by relevance. You may discover that you are the first person on the list - because you are very likely the most relevant match for your keywords in the directory. - - - \ No newline at end of file +On your Contacts page is a link to "Find People with Shared Interests" (unless your site administrator has disabled the global directory). +This will combine both your public and private keywords, and find people in the global directory who have matching and/or similar keywords. +(Your private keywords are not identified or stored on the global directory). +The more keywords you provide, the more relevant the search results that are returned. +These are sorted by relevance. +You may discover that you are the first person on the list - because you are very likely the most relevant match for your keywords in the directory. diff --git a/doc/Remove-Account.md b/doc/Remove-Account.md index e33c2b06e..4b4853b6b 100644 --- a/doc/Remove-Account.md +++ b/doc/Remove-Account.md @@ -7,8 +7,16 @@ We don't like to see people leave Friendica, but if you need to remove your acco http://sitename/removeme -with your web browser. You will need to be logged in at the time. +with your web browser. +You will need to be logged in at the time. -You will be asked for your password to confirm the request. If this matches your stored password, your account will immediately be blocked to all probing. Unlike some social networks we do **not** hold onto it for a grace period in case you change your mind. All your content and user data, etc is instantly removed. For all intents and purposes, the account is gone in moments. +You will be asked for your password to confirm the request. +If this matches your stored password, your account will immediately be blocked to all probing. +Unlike some social networks we do **not** hold onto it for a grace period in case you change your mind. +All your content and user data, etc is instantly removed. For all intents and purposes, the account is gone in moments. -We then send out an "unfriend" signal to all of your contacts. This signal deletes all content on those networks. Unfortunately, due to limitations of the other networks, this only works well with Friendica contacts. We allow four days for this, in case some servers were down and the unfriend signal was queued. After this, we finish off deleting the account. +We then send out an "unfriend" signal to all of your contacts. +This signal deletes all content on those networks. +Unfortunately, due to limitations of the other networks, this only works well with Friendica contacts. +We allow four days for this, in case some servers were down and the unfriend signal was queued. +After this, we finish off deleting the account. diff --git a/doc/Settings.md b/doc/Settings.md index 574ce8dcc..fee8ec1c5 100644 --- a/doc/Settings.md +++ b/doc/Settings.md @@ -1,227 +1,240 @@ -Here are some of the built-in features which don't have an exposed interface or are otherwise undocumented. Configuration settings are stored in the file ".htconfig.php". Edit this file with a text editor to make the desired changes. Several system settings are already documented in that file and will not be covered here. +Settings +=== +Here are some of the built-in features which don't have an exposed interface or are otherwise undocumented. +Configuration settings are stored in the file ".htconfig.php". +Edit this file with a text editor to make the desired changes. +Several system settings are already documented in that file and will not be covered here. -**Hot Keys** +Hot Keys +--- Friendica traps the following keyboard events: -* [Pause] - Pauses "Ajax" update activity. This is the process that provides updates without reloading the page. You may wish to pause it to reduce network usage and/or as a debugging aid for javascript developers. A pause indicator will appear at the lower right hand corner of the page. Hit the [pause] key once again to resume. - +* [Pause] - Pauses "Ajax" update activity. This is the process that provides updates without reloading the page. You may wish to pause it to reduce network usage and/or as a debugging aid for javascript developers. A pause indicator will appear at the lower right hand corner of the page. Hit the [pause] key once again to resume. * [F8] - Displays a language selector -**Birthday Notifications** +Birthday Notifications +--- -Birthday events are published on your Home page for any friends having a birthday in the coming 6 days. In order for your birthday to be discoverable by all of your friends, you must set your birthday (at least the month and day) in your default profile. You are not required to provide the year. +Birthday events are published on your Home page for any friends having a birthday in the coming 6 days. +In order for your birthday to be discoverable by all of your friends, you must set your birthday (at least the month and day) in your default profile. +You are not required to provide the year. -**Configuration settings** +System settings +--- - -**Language** - -System Setting +###Language Please see util/README for information on creating language translations. Config: -``` -$a->config['system']['language'] = 'name'; -``` + $a->config['system']['language'] = 'name'; -**System Theme** +###System Theme -System Setting - -Choose a named theme to be the default system theme (which may be over-ridden by user profiles). Default theme is "default". +Choose a theme to be the default system theme. This can be over-ridden by user profiles. +Default theme is "default". Config: -``` -$a->config['system']['theme'] = 'theme-name'; -``` + $a->config['system']['theme'] = 'theme-name'; -**Verify SSL Certitificates** +###Proxy Configuration Settings -Security setting - -By default Friendica allows SSL communication between websites that have "self-signed" SSL certificates. For the widest compatibility with browsers and other networks we do not recommend using self-signed certificates, but we will not prevent you from using them. SSL encrypts all the data transmitted between sites (and to your browser) and this allows you to have completely encrypted communications, and also protect your login session from hijacking. Self-signed certificates can be generated for free, without paying top-dollar for a website SSL certificate - however these aren't looked upon favourably in the security community because they can be subject to so-called "man-in-the-middle" attacks. If you wish, you can turn on strict certificate checking. This will mean you cannot connect (at all) to self-signed SSL sites. +If your site uses a proxy to connect to the internet, you may use these settings to communicate with the outside world. +The outside world still needs to be able to see your website, or this will not be very useful. Config: -``` -$a->config['system']['verifyssl'] = true; -``` + $a->config['system']['proxy'] = "http://proxyserver.domain:port"; + $a->config['system']['proxyuser'] = "username:password"; -**Allowed Friend Domains** +###Network Timeout -Corporate/Edu enhancement - -Comma separated list of domains which are allowed to establish friendships with this site. Wildcards are accepted. (Wildcard support on Windows platforms requires PHP5.3). By default, any (valid) domain may establish friendships with this site. +How long to wait on a network communication before timing out. +Value is in seconds. +Default is 60 seconds. +Set to 0 for unlimited (not recommended). Config: -``` -$a->config['system']['allowed_sites'] = "sitea.com, *siteb.com"; -``` + $a->config['system']['curl_timeout'] = 60; -**Allowed Email Domains** +###Banner/Logo -Corporate/Edu enhancement - -Comma separated list of domains which are allowed in email addresses for registrations to this site. This can lockout those who are not part of this organisation from registering here. Wildcards are accepted. (Wildcard support on Windows platforms requires PHP5.3). By default, any (valid) email address is allowed in registrations. +Set the content for the site banner. +The default logo is the Friendica logo and name. +You may wish to provide HTML/CSS to style and/or position this content, as it may not be themed by default. Config: -``` -$a->config['system']['allowed_email'] = "sitea.com, *siteb.com"; -``` -**Block Public** + $a->config['system']['banner'] = 'My Great Website'; -Corporate/Edu enhancement +###Maximum Image Size -Set to true to block public access to all otherwise public personal pages on this site unless you are currently logged in. This blocks the viewing of profiles, friends, photos, the site directory and search pages to unauthorised persons. A side effect is that entries from this site will not appear in the global directory. We recommend specifically disabling that also (setting is described elsewhere on this page). Note: this is specifically for sites that desire to be "standalone" and do not wish to be connected to any other Friendica sites. Unauthorised persons will also not be able to request friendship with site members. Default is false. Available in version 2.2 or greater. +Maximum size in bytes of uploaded images. +The default is set to 0, which means no limits. + +Config: + + $a->config['system']['maximagesize'] = 1000000; + +###UTF-8 Regular Expressions + +During registrations, full names are checked using UTF-8 regular expressions. +This requires PHP to have been compiled with a special setting to allow UTF-8 expressions. +If you are completely unable to register accounts, set no_utf to true. +The default is set to false (meaning UTF8 regular expressions are supported and working). Config: -``` -$a->config['system']['block_public'] = true; -``` + $a->config['system']['no_utf'] = true; -**Force Publish** +###Check Full Names -Corporate/Edu enhancement - -By default, each user can choose on their Settings page whether or not to have their profile published in the site directory. This setting forces all -profiles on this site to be listed in the site directory and there is no option provided to the user to change it. Default is false. +You may find a lot of spammers trying to register on your site. +During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name. +If you would like to support people with only one name as their full name, you may change this setting to true. +Default is false. Config: -``` -$a->config['system']['publish_all'] = true; -``` + $a->config['system']['no_regfullname'] = true; -**Global Directory** +###OpenID -Corporate/Edu enhancement - -This configures the URL to update the global directory, and is supplied in the default configuration. The undocumented part is that if this is not set, the global directory is completely unavailable to the application. This allows a private community to be completely isolated from the global mistpark network. - -``` -$a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit'; -``` - - -**Proxy Configuration Settings** - -If your site uses a proxy to connect to the internet, you may use these settings to communicate with the outside world (the outside world still needs to be able to see your website, or this will not be very useful). +By default, OpenID may be used for both registration and logins. +If you do not wish to make OpenID facilities available on your system (at all), set 'no_openid' to true. +Default is false. Config: -``` -$a->config['system']['proxy'] = "http://proxyserver.domain:port"; -$a->config['system']['proxyuser'] = "username:password"; -``` + $a->config['system']['no_openid'] = true; -**Network Timeout** +###Multiple Registrations -How long to wait on a network communication before timing out. Value is in seconds. Default is 60 seconds. Set to 0 for unlimited (not recommended). - -Config: -``` -$a->config['system']['curl_timeout'] = 60; -``` - - -**Banner/Logo** - -Set the content for the site banner. Default is the Friendica logo and name. You may wish to provide HTML/CSS to style and/or position this content, as it may not be themed by default. - -Config: -``` -$a->config['system']['banner'] = 'My Great Website'; -``` - - -**Maximum Image Size** - -Maximum size in bytes of uploaded images. Default is 0, which means no limits. - -Config: -``` -$a->config['system']['maximagesize'] = 1000000; -``` - - -**UTF-8 Regular Expressions** - -During registrations, full names are checked using UTF-8 regular expressions. This requires PHP to have been compiled with a special setting to allow UTF-8 expressions. If you are completely unable to register accounts, set no_utf to true. Default is false (meaning UTF8 regular expressions are supported and working). +The ability to create "Pages" requires a person to register more than once. +Your site configuration can block registration (or require approval to register). +By default, logged in users can register additional accounts for use as pages. +These will still require approval if REGISTER_APPROVE is selected. +You may prohibit logged in users from creating additional accounts by setting 'block_extended_register' to true. +Default is false. Config: -``` -$a->config['system']['no_utf'] = true; -``` + $a->config['system']['block_extended_register'] = true; -**Check Full Names** +Security settings +--- -You may find a lot of spammers trying to register on your site. During testing we discovered that since these registrations were automatic, the "Full Name" field was often set to just an account name with no space between first and last name. If you would like to support people with only one name as their full name, you may change this setting to true. Default is false. +###Verify SSL Certitificates + +By default Friendica allows SSL communication between websites that have "self-signed" SSL certificates. +For the widest compatibility with browsers and other networks we do not recommend using self-signed certificates, but we will not prevent you from using them. +SSL encrypts all the data transmitted between sites (and to your browser). This allows you to have completely encrypted communications, and also protect your login session from hijacking. +Self-signed certificates can be generated for free, without paying top-dollar for a website SSL certificate. +However these aren't looked upon favourably in the security community because they can be subject to so-called "man-in-the-middle" attacks. +If you wish, you can turn on strict certificate checking. +This will mean you cannot connect (at all) to self-signed SSL sites. + +Config: + + $a->config['system']['verifyssl'] = true; + +Corporate/Edu enhancements +--- + +###Allowed Friend Domains + +Comma separated list of domains which are allowed to establish friendships with this site. +Wildcards are accepted. +(Wildcard support on Windows platforms requires PHP5.3). +By default, any (valid) domain may establish friendships with this site. + +Config: + + $a->config['system']['allowed_sites'] = "sitea.com, *siteb.com"; + +###Allowed Email Domains + +Comma separated list of domains which are allowed in email addresses for registrations to this site. +This can lockout those who are not part of this organisation from registering here. +Wildcards are accepted. +(Wildcard support on Windows platforms requires PHP5.3). +By default, any (valid) email address is allowed in registrations. + +Config: + + $a->config['system']['allowed_email'] = "sitea.com, *siteb.com"; + +###Block Public + +Set to true to block public access to all otherwise public personal pages on this site unless you are currently logged in. +This blocks the viewing of profiles, friends, photos, the site directory and search pages to unauthorised persons. +A side effect is that entries from this site will not appear in the global directory. +We recommend specifically disabling that also (setting is described elsewhere on this page). +Note: this is specifically for sites that desire to be "standalone" and do not wish to be connected to any other Friendica sites. +Unauthorised persons will also not be able to request friendship with site members. +Default is false. +Available in version 2.2 or greater. Config: -``` -$a->config['system']['no_regfullname'] = true; -``` + $a->config['system']['block_public'] = true; -**OpenID** +###Force Publish -By default, OpenID may be used for both registration and logins. If you do not wish to make OpenID facilities available on your system (at all), set 'no_openid' to true. Default is false. - -Config: -``` -$a->config['system']['no_openid'] = true; -``` - - -**Multiple Registrations** - -The ability to create "Pages" requires a person to register more than once. Your site configuration can block registration (or require approval to register). By default logged in users can register additional accounts for use as pages. These will still require approval if REGISTER_APPROVE is selected. You may prohibit logged in users from creating additional accounts by setting 'block_extended_register' to true. Default is false. +By default, each user can choose on their Settings page whether or not to have their profile published in the site directory. +This setting forces all profiles on this site to be listed in the site directory and there is no option provided to the user to change it. +Default is false. Config: -``` -$a->config['system']['block_extended_register'] = true; -``` + $a->config['system']['publish_all'] = true; -**Developer Settings** +###Global Directory +This configures the URL to update the global directory, and is supplied in the default configuration. +The undocumented part is that if this is not set, the global directory is completely unavailable to the application. +This allows a private community to be completely isolated from the global mistpark network. + + $a->config['system']['directory_submit_url'] = 'http://dir.friendica.com/submit'; + +Developer Settings +--- + +### Debugging Most useful when debugging protocol exchanges and tracking down other communications issues. Config: -``` -$a->config['system']['debugging'] = true; -$a->config['system']['logfile'] = 'logfile.out'; -$a->config['system']['loglevel'] = LOGGER_DEBUG; -``` -Turns on detailed debugging logs which will be stored in 'logfile.out' (which must be writeable by the webserver). LOGGER_DEBUG will show a good deal of information about system activity but will not include detailed data. You may also select LOGGER_ALL but due to the volume of information we recommend only enabling this when you are tracking down a specific problem. Other log levels are possible but are not being used at the present time. + $a->config['system']['debugging'] = true; + $a->config['system']['logfile'] = 'logfile.out'; + $a->config['system']['loglevel'] = LOGGER_DEBUG; + +Turns on detailed debugging logs which will be stored in 'logfile.out' (which must be writeable by the webserver). +LOGGER_DEBUG will show a good deal of information about system activity but will not include detailed data. +You may also select LOGGER_ALL but due to the volume of information we recommend only enabling this when you are tracking down a specific problem. +Other log levels are possible but are not being used at the present time. -**PHP error logging** +###PHP error logging Use the following settings to redirect PHP errors to a file. Config: -``` -error_reporting(E_ERROR | E_WARNING | E_PARSE ); -ini_set('error_log','php.out'); -ini_set('log_errors','1'); -ini_set('display_errors', '0'); -``` + error_reporting(E_ERROR | E_WARNING | E_PARSE ); + ini_set('error_log','php.out'); + ini_set('log_errors','1'); + ini_set('display_errors', '0'); -This will put all PHP errors in the file php.out (which must be writeable by the webserver). Undeclared variables are occasionally referenced in the program and therefore we do not recommend using E_NOTICE or E_ALL. The vast majority of issues reported at these levels are completely harmless. Please report to the developers any errors you encounter in the logs using the recommended settings above. They generally indicate issues which need to be resolved. +This will put all PHP errors in the file php.out (which must be writeable by the webserver). +Undeclared variables are occasionally referenced in the program and therefore we do not recommend using E_NOTICE or E_ALL. +The vast majority of issues reported at these levels are completely harmless. +Please report to the developers any errors you encounter in the logs using the recommended settings above. +They generally indicate issues which need to be resolved. If you encounter a blank (white) page when using the application, view the PHP logs - as this almost always indicates an error has occurred. - - - diff --git a/doc/Vagrant.md b/doc/Vagrant.md index 136583c4d..979c5c49b 100644 --- a/doc/Vagrant.md +++ b/doc/Vagrant.md @@ -3,17 +3,25 @@ Vagrant for Friendica Developers * [Home](help) -**Getting started** +Getting started +--------------- -[Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers. No need to setup up a webserver, database etc. before actually starting. Vagrant creates a virtual machine (an Ubuntu 12.04) for you that you can just run inside VirtualBox and start to work directly on Friendica. What you need to do: +[Vagrant](https://www.vagrantup.com/) is a virtualization solution for developers. +No need to setup up a webserver, database etc. before actually starting. +Vagrant creates a virtual machine (an Ubuntu 12.04) for you that you can just run inside VirtualBox and start to work directly on Friendica. +What you need to do: 1. Install VirtualBox and vagrant. -2. Git clone your Friendica repository. Inside, you'll find a "Vagrantfile" and some scripts in the utils folder. -3. Run "vagrant up" from inside the friendica clone. Be patient: When it runs for the first time, it downloads an Ubuntu Server image. +2. Git clone your Friendica repository. +Inside, you'll find a "Vagrantfile" and some scripts in the utils folder. +3. Run "vagrant up" from inside the friendica clone. +Be patient: When it runs for the first time, it downloads an Ubuntu Server image. 4. Run "vagrant ssh" to log into the virtual machine to log in to the VM. -5. Open 192.168.22.10 in a browser to finish the Friendica installation. The mysql database is called "friendica", the mysql user and password both are "root". +5. Open 192.168.22.10 in a browser to finish the Friendica installation. +The mysql database is called "friendica", the mysql user and password both are "root". 6. Work on Friendica's code in your git clone on your machine (not in the VM). -7. Check the changes in your browser in the VM. Debug via the "vagrant ssh" login. +7. Check the changes in your browser in the VM. +Debug via the "vagrant ssh" login. 8. Commit and push your changes directly back to Github. If you want to stop vagrant after finishing your work, run the following command @@ -22,7 +30,8 @@ If you want to stop vagrant after finishing your work, run the following command in the development directory. -**Import test data** +Import test data +---------------- If you want some test data in your vagrant Friendica instance import the database dump friendica_test_data.sql like so (inside the VM): @@ -31,7 +40,7 @@ If you want some test data in your vagrant Friendica instance import the databas You will then have the following accounts to login: * admin, password admin - * friendica1, password friendica + * friendica1, password friendica1 * friendica2, password friendica2 and so on until friendica5 * friendica1 is connected to all others. friendica1 has two groups: group1 with friendica2 and friendica4, group2 with friendica3 and friendica5. * friendica2 and friendica3 are conntected. friendica4 and friendica5 are connected. diff --git a/doc/api.md b/doc/api.md index f36a79a5e..fa9df1245 100644 --- a/doc/api.md +++ b/doc/api.md @@ -1,11 +1,13 @@ +Implemented API calls +=== The friendica API aims to be compatible to the [StatusNet API](http://status.net/wiki/Twitter-compatible_API) which aims to be compatible to the [Twitter API 1.0](https://dev.twitter.com/docs/api/1). Please refer to the linked documentation for further information. -## Implemented API calls +General +--- -### General -#### Unsupported parameters +### Unsupported parameters * cursor: Not implemented in StatusNet * trim_user: Not implemented in StatusNet * contributor_details: Not implemented in StatusNet @@ -14,21 +16,25 @@ Please refer to the linked documentation for further information. * include_rts: To-Do * include_my_retweet: Retweets in friendica are implemented in a different way -#### Different behaviour +### Different behaviour * screen_name: The nick name in friendica is only unique in each network but not for all networks. The users are searched in the following priority: Friendica, StatusNet/GNU Social, Diaspora, pump.io, Twitter. If no contact was found by this way, then the first contact is taken. * include_entities: Default is "false". If set to "true" then the plain text is formatted so that links are having descriptions. -#### Return values +### Return values * cid: Contact id of the user (important for "contact_allow" and "contact_deny") * network: network of the user -### account/verify_credentials -#### Parameters +account/verify_credentials +--- + +### Parameters * skip_status: Don't show the "status" field. (Default: false) * include_entities: "true" shows entities for pictures and links (Default: false) -### statuses/update, statuses/update_with_media -#### Parameters +statuses/update, statuses/update_with_media +--- + +### Parameters * title: Title of the status * status: Status in text format * htmlstatus: Status in HTML format @@ -44,28 +50,34 @@ Please refer to the linked documentation for further information. * network * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * trim_user * place_id * display_coordinates -### users/search -#### Parameters +users/search +--- + +### Parameters * q: name of the user -#### Unsupported parameters +### Unsupported parameters * page * count * include_entities -### users/show -#### Parameters +users/show +--- + +### Parameters * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * include_entities: "true" shows entities for pictures and links (Default: false) -### statuses/home_timeline -#### Parameters +statuses/home_timeline +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -74,13 +86,15 @@ Please refer to the linked documentation for further information. * conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### statuses/friends_timeline -#### Parameters +statuses/friends_timeline +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -89,13 +103,15 @@ Please refer to the linked documentation for further information. * conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### statuses/public_timeline -#### Parameters +statuses/public_timeline +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -104,63 +120,75 @@ Please refer to the linked documentation for further information. * conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * trim_user -### statuses/show -#### Parameters +statuses/show +--- + +### Parameters * id: message number * conversation: if set to "1" show all messages of the conversation with the given id * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_my_retweet * trim_user -### statuses/retweet -#### Parameters +statuses/retweet +--- + +### Parameters * id: message number * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * trim_user -### statuses/destroy -#### Parameters +statuses/destroy +--- + +### Parameters * id: message number * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * trim_user -### statuses/mentions -#### Parameters +statuses/mentions +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### statuses/replies -#### Parameters +statuses/replies +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### statuses/user_timeline -#### Parameters +statuses/user_timeline +--- + +### Parameters * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * count: Items per page (default: 20) @@ -171,15 +199,17 @@ Please refer to the linked documentation for further information. * conversation_id: Shows all statuses of a given conversation. * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### conversation/show +conversation/show +--- + Unofficial Twitter command. It shows all direct answers (excluding the original post) to a given id. -#### Parameters +### Parameters * id: id of the post * count: Items per page (default: 20) * page: page number @@ -187,86 +217,105 @@ Unofficial Twitter command. It shows all direct answers (excluding the original * max_id: maximum id * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * include_rts * trim_user * contributor_details -### favorites -#### Parameters +favorites +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * user_id * screen_name Favorites aren't displayed to other users, so "user_id" and "screen_name". So setting this value will result in an empty array. -### account/rate_limit_status +account/rate_limit_status +--- -### help/test +help/test +--- -### statuses/friends +statuses/friends +--- * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * user_id * screen_name * cursor Friendica doesn't allow showing friends of other users. -### statuses/followers +statuses/followers +--- + * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * user_id * screen_name * cursor Friendica doesn't allow showing followers of other users. -### statusnet/config +statusnet/config +--- -### statusnet/version +statusnet/version +--- -### friends/ids -#### Parameters +friends/ids +--- + +### Parameters * stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) -#### Unsupported parameters +### Unsupported parameters * user_id * screen_name * cursor Friendica doesn't allow showing friends of other users. -### followers/ids -#### Parameters +followers/ids +--- + +Parameters +--- + * stringify_ids: Should the id numbers be sent as text (true) or number (false)? (default: false) -#### Unsupported parameters +### Unsupported parameters * user_id * screen_name * cursor Friendica doesn't allow showing followers of other users. -### direct_messages/new -#### Parameters +direct_messages/new +--- + +### Parameters * user_id: id of the user * screen_name: screen name (for technical reasons, this value is not unique!) * text: The message * replyto: ID of the replied direct message * title: Title of the direct message -### direct_messages/conversation +direct_messages/conversation +--- + Shows all direct messages of a conversation -#### Parameters +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -274,16 +323,20 @@ Shows all direct messages of a conversation * getText: Defines the format of the status field. Can be "html" or "plain" * uri: URI of the conversation -### direct_messages/all -#### Parameters +direct_messages/all +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id * max_id: maximum id * getText: Defines the format of the status field. Can be "html" or "plain" -### direct_messages/sent -#### Parameters +direct_messages/sent +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -291,8 +344,10 @@ Shows all direct messages of a conversation * getText: Defines the format of the status field. Can be "html" or "plain" * include_entities: "true" shows entities for pictures and links (Default: false) -### direct_messages -#### Parameters +direct_messages +--- + +### Parameters * count: Items per page (default: 20) * page: page number * since_id: minimal id @@ -300,26 +355,32 @@ Shows all direct messages of a conversation * getText: Defines the format of the status field. Can be "html" or "plain" * include_entities: "true" shows entities for pictures and links (Default: false) -#### Unsupported parameters +### Unsupported parameters * skip_status -### oauth/request_token -#### Parameters +oauth/request_token +--- + +### Parameters * oauth_callback -#### Unsupported parameters +### Unsupported parameters * x_auth_access_type -### oauth/access_token -#### Parameters +oauth/access_token +--- + +### Parameters * oauth_verifier -#### Unsupported parameters +### Unsupported parameters * x_auth_password * x_auth_username * x_auth_mode -## Not Implemented API calls +Not Implemented API calls +=== + The following list is extracted from the [API source file](https://github.com/friendica/friendica/blob/master/include/api.php) (at the very bottom): * favorites/create * favorites/destroy @@ -346,17 +407,24 @@ The following are things from the Twitter API also not implemented in StatusNet: * blocks/blocking * lists -## Usage Examples -### BASH / cURL +Usage Examples +=== + +BASH / cURL +--- + Betamax has documentated some example API usage from a [bash script](https://en.wikipedia.org/wiki/Bash_(Unix_shell) employing [curl](https://en.wikipedia.org/wiki/CURL) (see [his posting](https://betamax65.de/display/betamax65/43539)). /usr/bin/curl -u USER:PASS https://YOUR.FRIENDICA.TLD/api/statuses/update.xml -d source="some source id" -d status="the status you want to post" -### Python -The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as an example of how to use the API with python. The lines for posting are located at [line 21](https://github.com/pafcu/RSStoFriendika/blob/master/RSStoFriendika.py#L21) and following. +Python +--- + +The [RSStoFriedika](https://github.com/pafcu/RSStoFriendika) code can be used as an example of how to use the API with python. +The lines for posting are located at [line 21](https://github.com/pafcu/RSStoFriendika/blob/master/RSStoFriendika.py#L21) and following. def tweet(server, message, group_allow=None): url = server + '/api/statuses/update' urllib2.urlopen(url, urllib.urlencode({'status': message,'group_allow[]':group_allow}, doseq=True)) -There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API. \ No newline at end of file +There is also a [module for python 3](https://bitbucket.org/tobiasd/python-friendica) for using the API. diff --git a/doc/de/Account-Basics.md b/doc/de/Account-Basics.md index 3319560e7..dc834b110 100644 --- a/doc/de/Account-Basics.md +++ b/doc/de/Account-Basics.md @@ -6,68 +6,98 @@ Account - Basics **Registrierung** -Nicht alle Friendica-Seiten bieten eine freie Registrierung. Wenn die Registrierung erlaubt ist, zeigt sich sofort ein "Registrieren"-Link unter dem Login-Feld auf der Startseite. Ein Klick auf diesen Link führt zur Registrierungsseite. Die Stärke unseres Netzwerks ist, dass viele verschiedene Seiten komplett kompatible zueinander sind. Wenn die Seite, die du besuchst, eine Registrierung nicht erlaubt oder wenn du glaubst, dass dir eine andere Seite möglicherweise besser gefällt, dann kannst du hier eine Liste von öffentlichen Servern finden und die Seite suchen, die zu deinen Anforderungen passt. +Nicht alle Friendica-Knoten bieten die Möglichkeit einer Registrierung. +Wenn eine Registrierung möglich ist, wird ein "Registrieren"-Link unter dem Login-Feld auf der Startseite angezeigt, der zur Registrierungsseite führt. +Die Stärke unseres Netzwerks liegt darin, dass die verschiedenen Knoten komplett kompatibel zueinander sind. +Wenn der Knoten, den Du besuchst, keine Registrierung anbietet, oder wenn Du glaubst, dass Dir eine andere Seite möglicherweise besser gefällt, dann kannst Du hier eine Liste von öffentlichen Servern (Knoten) finden und den Knoten heraus suchen, der am Besten zu Deinen Anforderungen passt. -Wenn du deinen eigenen Server aufsetzen willst, kannst du das ebenfalls machen. Besuche die Friendica-Webseite, um den Code mit den Installationsanleitungen herunterzuladen. Es ist ein einfacher Installationsprozess, den jeder mit ein wenig Erfahrungen im Webseiten-Hosting oder mit grundlegenden Linux-Erfahrungen einfach handhaben kann. +Wenn Du Deinen eigenen Server aufsetzen willst, kannst Du das ebenfalls machen. Besuche die Friendica-Webseite, um den Code mit den Installationsanleitungen herunterzuladen. +Es ist ein einfacher Installationsprozess, den jeder mit ein wenig Erfahrungen im Webseiten-Hosting oder mit grundlegenden Linux-Erfahrungen einfach handhaben kann. *OpenID* -Das erste Feld auf der Registrierungsseite ist für eine OpenID-Adresse. Wenn du keine OpenID-Adresse hast oder nicht wünschst, diese zu nutzen, dann lasse das Feld frei. Wenn du einen OpenID-Account hast und diesen nutzen willst, gib die Adresse in das Feld ein und klicke auf "Registrieren". Friendica wird versuchen, so viele Informationen wie möglich von deinem OpenID-Provider zu übernehmen, um diese in dein Profil auf dieser Seite einzutragen. +Das erste Feld auf der Registrierungsseite ist für eine OpenID-Adresse. +Wenn Du keine OpenID-Adresse hast oder diese nicht verwenden möchtest, dann lasse das Feld frei. +Wenn Du einen OpenID-Account hast und diesen nutzen willst, gib die Adresse in das Feld ein und klicke auf "Registrieren". +Friendica wird versuchen, so viele Informationen wie möglich von Deinem OpenID-Provider zu übernehmen, um diese in Dein Profil auf dieser Seite einzutragen. *Dein vollständiger Name* -Bitte trage deinen vollständigen Namen **so ein, wie du ihn im System anzeigen lassen willst**. Viele Leute nutzen ihren richtigen Namen hierfür, allerdings besteht für dich keine Pflicht, das auch so zu machen. +Bitte trage Deinen vollständigen Namen **so ein, wie Du ihn im System anzeigen lassen willst**. +Viele Leute nutzen ihren richtigen Namen hierfür, allerdings besteht für Dich dazu keine Verpflichtung. *Email-Adresse* -Bitte trage eine richtige Email-Adresse ein. Deine Email-Adresse wird **niemals** veröffentlicht. Wir benötigen diese, um dir Account-Informationen und die Login-Daten zu schicken. Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die deine Aufmerksamkeit benötigen. Du hast aber auch die Möglichkeit, diese Nachrichten in deinen Account-Einstellungen komplett abzuschalten. Du musst nicht deine Haupt-Email-Adresse sein, jedoch wird eine funktionierende Adresse benötigt. Ohne dieses kannst du weder dein Initialpasswort erhalten, noch dein Passwort zurücksetzen. Dies ist die einzige persönliche Information, die korrekt sein muss. +Bitte trage eine richtige Email-Adresse ein. +Deine Email-Adresse wird **niemals** veröffentlicht. +Wir benötigen diese, um Dir Account-Informationen und die Login-Daten zuzuschicken. +Du erhältst zudem von Zeit zu Zeit Benachrichtigungen über eingegangene Nachrichten oder Punkte, die Deine Aufmerksamkeit benötigen. +Du hast aber auch die Möglichkeit, diese Nachrichten in Deinen Account-Einstellungen komplett abzuschalten. + +Bei der Wahl der Email-Adresse bist Du völlig frei, sie sollte aber funktionieren, und Du musst Zugriff auf sie haben. +Ohne diese Adresse kannst Du weder Dein Initialpasswort erhalten, noch Dein Passwort zurücksetzen. +Dies ist die einzige persönliche Information, die korrekt sein muss. *Spitzname/Nickname* -Der Spitzname wird benötigt, um eine Webadresse für viele deiner persönlichen Seiten zu erstellen. Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll. Durch die Art, wie der Spitzname genutzt wird, gibt es bestimmte Einschränkungen. Er darf nur US-ASCII-Textzeichen und Nummern enthalten und er muss zudem mit einem Buchstaben beginnen. Er muss außerdem einzigartig im System sein. Dieser Spitzname wird an vielen Stellen genutzt, um deinen Account zu identifizieren, und kann daher später nicht mehr geändert werden. +Der Spitzname wird benötigt, um eine Webadresse für Deine persönlichen Seiten zu erstellen. +Auch wird dieser wie eine Email-Adresse genutzt, wenn eine Verbindung zu anderen Personen hergestellt werden soll. +Durch die Art, wie der Spitzname genutzt wird, ergeben sich bestimmte Einschränkungen: Er darf nur US-ASCII-Textzeichen und Ziffern enthalten und er muss zudem mit einem Buchstaben beginnen. +Außerdem muss er einzigartig im System sein. +Dieser Spitzname wird an vielen Stellen genutzt, um Deinen Account zu identifizieren, und kann daher **später nicht mehr geändert werden**. *Verzeichnis-Eintrag* -Das Registrierungsformular erlaubt es dir, direkt auszuwählen, ob du im Onlineverzeichnis aufgelistet wirst oder nicht. Das ist wie ein Telefonbuch und du kannst entscheiden, nicht aufgeführt zu werden. Wir bitten dich, "Ja" zu wählen, so dass dich andere Leute (Freunde, Familie etc.) finden können. Wenn du "Nein" wählst, wirst du hauptsächlich unsichtbar sein und nur wenige Möglichkeiten zur Interaktion haben. Was auch immer du wählst, kann jederzeit nach dem Login in deinen Account-Einstellungen geändert werden. +Das Registrierungsformular erlaubt es Dir, direkt zu bestimmen, ob Du in dem einem Telefonbuch vergleichbaren Onlineverzeichnis aufgelistet werden sollst oder nicht. +Wir bitten dich, "Ja" zu wählen, so dass Dich andere Leute (Freunde, Familie etc.) finden können. +Wenn Du "Nein" wählst, wirst Du gewissermaßen unsichtbar sein und nur wenige Möglichkeiten zur Interaktion haben. +Was auch immer Du wählst kann jederzeit nach dem Login in Deinen Account-Einstellungen geändert werden. *Registrierung* -Sobald du die nötigen Informationen eingegeben hast, klicke auf "Registrieren". Eine Email wird an die hinterlegte Email-Adresse geschickt. Bitte prüfe den Posteingang (inkl. dem Spam-Ordner) für die Registrierungsdetails und dein Initialpasswort. +Sobald Du die nötigen Informationen eingegeben hast, klicke auf "Registrieren". +Eine Email mit den Registrierungsdetails und Deinem Initialpasswort wird an die hinterlegte Email-Adresse geschickt. +Bitte prüfe den Posteingang (inkl. dem Spam-Ordner). **Login-Seite** -Gib auf der "Login"-Seite die Informationen ein, die du während der Registrierung erhalten hast. Du kannst entweder deinen Spitznamen oder die Email-Adresse als Login-Namen nutzen. +Gib auf der "Login"-Seite die Informationen ein, die Du mit der oben genannten Email erhalten hast. +Du kannst entweder Deinen Spitznamen oder die Email-Adresse als Login-Namen nutzen. -Wenn du deinen Account nutzt, um mehrfache '[Seiten](help/Pages)' zu verwalten, die die gleiche Email-Adresse benutzen, dann nutze bitte den Spitznamen des Accounts, der verwaltet werden soll. +Wenn Du Deinen Account nutzt, um unterschiedliche '[Seiten](help/Pages)' zu verwalten, die die gleiche Email-Adresse verwenden, dann nutze bitte den Spitznamen des Accounts, der verwaltet werden soll. -*Wenn* dein Account OpenID nutzt, dann kannst du deine OpenID-Adresse als Login-Name nutzen und das Passwort-Feld frei lassen. Du wirst zu deinem OpenID-Anbieter weitergeleitet, wo du deine Anmeldung abschließt. +*Wenn* Dein Account OpenID nutzt, dann kannst Du Deine OpenID-Adresse als Login-Name nutzen und das Passwort-Feld frei lassen. +Du wirst zu Deinem OpenID-Anbieter weitergeleitet, wo Du Deine Anmeldung abschließt. -Wenn OpenID nicht genutzt wird, gib dein Passwort ein. Dieses hast du zu Beginn in der Registrierungsmail erhalten. Dein Passwort ist zeichengenau; Groß- und Kleinschreibung wird beachtet. Prüfe bitte, ob deine Feststelltaste aktiv ist, falls du Schwierigkeiten beim Login hast. +Wenn Du OpenID nicht nutzt, dann gib Dein Passwort ein, das Du mit der Registrierungsmail erhalten hast. +Das Passwort muss genau so geschrieben werden, wie es in der Email steht; Groß- und Kleinschreibung wird beachtet. +Falls Du Schwierigkeiten beim Login hast, prüfe bitte, ob z. B. Deine Feststelltaste aktiv ist. **Passwort ändern** -Besuche nach deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass du dir merken kannst. +Besuche nach Deinem ersten Login bitte die Einstellungsseite und wechsle das Passwort in eines, dass Du Dir merken kannst. **Der Anfang** -Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beiden Wochen auf deiner Startseite, um dir erste Informationen zum Start zu bieten. +Ein ['Tipp für neue Mitglieder'](newmember)-Link zeigt sich in den ersten beiden Wochen auf Deiner Startseite, um Dir erste Informationen zum Start zu bieten. **Persönliche Daten exportieren** -Du kannst eine Kopie deiner persönlichen Daten in einer XML-Datei exportieren. Gehe hierzu in deinen Einstellungen auf "Persönliche Daten exportieren". +Du kannst eine Kopie Deiner persönlichen Daten in einer XML-Datei exportieren. +Gehe hierzu in Deinen Einstellungen auf "Persönliche Daten exportieren". -**Schau dir ebenfalls folgende Seiten an** +**Schau Dir ebenfalls folgende Seiten an** * [Profile](help/Profiles) diff --git a/doc/de/BBCode.md b/doc/de/BBCode.md index 5c0518ce8..4ce744df7 100644 --- a/doc/de/BBCode.md +++ b/doc/de/BBCode.md @@ -118,7 +118,8 @@ Man kann viele Dinge, z.B. Video und Audio Dateine, in Nachrichten einbetten.
[video]url[/video]
[audio]url[/audio]
-Wobei die *url* von youtube, vimeo, soundcloud oder einer anderen Seite stammen kann die die oembed oder opengraph Spezifikationen unterstützt. Außerdem kann *url* die genaue url zu einer ogg Datei sein, die dann per HTML5 eingebunden wird. +Wobei die *url* von youtube, vimeo, soundcloud oder einer anderen Seite stammen kann die die oembed oder opengraph Spezifikationen unterstützt. +Außerdem kann *url* die genaue url zu einer ogg Datei sein, die dann per HTML5 eingebunden wird.
[url]*url*[/url]
diff --git a/doc/de/Bugs-and-Issues.md b/doc/de/Bugs-and-Issues.md index 7d8ea9348..1323b4b9d 100644 --- a/doc/de/Bugs-and-Issues.md +++ b/doc/de/Bugs-and-Issues.md @@ -3,26 +3,14 @@ Bugs und Probleme * [Zur Startseite der Hilfe](help) -Wenn dein Server eine Supportseite hat, solltest du jeden Bug und jedes Problem, den/das du findest, zunächst dort melden. Die Fehler zunächst dort zu melden, statt auf der allgemeinen Bug-Seite, erleichtert es den Entwicklern, neue Features zu entwickeln, wenn sie sich nicht mit Fehlern beschäftigen müssen, mit denen sie nichts zu tun haben. +Du solltest jeden Bug und jedes Problem, den/das Du findest, zunächst dem Administrator (oder gegebenenfalls der Support-Seite) Deines Servers melden, statt auf der allgemeinen Bug-Seite. +Das erleichtert den Entwicklern ihre Arbeit (z. B. neue Features zu entwickeln), da sie sich nicht mit Fehlern beschäftigen müssen, mit denen sie nichts zu tun haben. -Wenn du ein technisch verantwortlicher Nutzer bist oder wenn deine Seite keine Support-Seite hat, dann kannst du den Bug Tracker nutzen. Bitte nutze zunächst die Suche, ob es bereits einen offenen Bug gibt, der deiner Anfrage entspricht. +Wenn Du technisch versiert bist oder Dein Knoten keine Support-Seite hat, dann kannst Du den Bug Tracker nutzen. +Bitte durchsuche zunächst die Seite, ob es bereits einen offenen Bug gibt, der Deiner Anfrage entspricht. -Versuche, so viele Informationen wie möglich zum Bug zu bieten. Hierzu gehört auch die **komplette** Fehlermeldung oder Notiz und alle Schritte, die zu dem Fehler geführt haben. Es ist generell besser, zu viele Informationen zu liefern, als zu wenige. +Liefere so viele Informationen wie möglich zu dem Bug. +Hierzu gehört auch die **komplette** Fehlermeldung oder Notiz und alle Schritte, die zu dem Fehler geführt haben. +Es ist generell besser, zu viele Informationen zu liefern, als zu wenige. -Lies dir diesen Artikel (mehrsprachig) durch, um mehr über **gute** Bug-Reports zu erfahren. - -**Bug-Bearbeitung sponsern** - -Wenn du einen Bug findest, der seine Ursache im Hauptsystem hat (also wenn es sich nicht nur um deine Seite handelt), dann kannst du diesen sponsern. - -Die Bug/Fehler-Datenbank erlaubt es dir, Fehler zu sponsern. Das schafft einen Anreiz für die Entwickler, deinen Fehler zu bearbeiten. Das ist nicht zwingend notwendig, da wir keine Bugs mögen und versuchen, diese zu beheben. Wichtiger ist dieses für die zukünftige Projektentwicklung und für Feature-Anfragen. - -Bug-Sponsoring arbeitet nach dem System der Anerkennung. Wenn du 10€ spendest, um einen Bug zu beheben, dann sende die Zahlung per PayPal an den Entwickler, der den Bug behoben hat. Und denke nie daran, für geleistete Arbeit nicht zu bezahlen. Einige dieser Leute könnten deine Kreditkarte hacken, falls du sie verärgern solltest. - -Zur Zeit können nur Personen gesponserte Bugs bearbeiten, die als Entwickler bestätigt wurden. Hierfür muss der Entwickler bereits einige Friendica-Bugs bearbeitet haben. Das dient zur Absicherung, damit der behobene Bug auch gut mit Friendica läuft. Wenn du wünschst, als Entwickler bestätigt zu werden, dann arbeite dich ein und übernimm einige nicht-gesponserte Probleme oder dein eigenes Projekt und du wirst auf der Leiter nach oben klettern. - -Wenn du sicher glaubst, dass du einen gesponserten Bug beheben kannst, aber nicht als Entwickler bestätigt bist, kann es passieren, dass ein gesponserter Entwickler den Bug bearbeiten, bevor du ihn dir sichern kannst. Wenn das nicht der Fall ist, dann trage einen kleinen Vermerk in die Anfrage ein. Wenn du unsere Code-Standards erfüllst, versuchen wir, dir einen Bonus zukommen zu lassen. - -Wenn du ein Projekt mit mehr als 50€ sponserst, dann fragen dich die Entwickler gegebenenfalls, ob sie einen Teil der Zahlung vorab erhalten (normalerweise die Hälfte). Nochmals: es handelt sich um ein Anerkennungssystem - und hauptsächlich dient es dazu, Zahlungsprobleme und Streitigkeiten zu verhindern. Du solltest nach 1-2 Wochen einen gewissen Fortschritt oder Demonstrationen erwarten können. Wenn die Arbeit nicht in einer für dich annehmbaren Zeit gelöst ist, hast du das Recht, das Geld zurückzufordern. - -Friendica ist nicht in diese Transaktionen involviert. Es handelt sich ausschließlich um ein persönliches Abkommen zwischen dem Sponsor und dem Entwickler. Wenn es irgendwelche Probleme gibt, müssen die Parteien es untereinander klären. Wir erstellen gerade einige Richtlinien, um potentielle Probleme zu vermeiden. +Lies Dir diesen Artikel (mehrsprachig) durch, um mehr über **gute** Bug-Reports zu erfahren. diff --git a/doc/de/Chats.md b/doc/de/Chats.md index e538285d6..6ae719f26 100644 --- a/doc/de/Chats.md +++ b/doc/de/Chats.md @@ -3,23 +3,36 @@ Chats * [Zur Startseite der Hilfe](help) -Du hast derzeit zwei Möglichkeiten, einen Chat auf deiner Friendica-Seite zu betreiben +Du hast derzeit zwei Möglichkeiten, einen Chat auf Deiner Friendica-Seite zu betreiben * IRC - Internet Relay Chat * Jappix ##IRC Plugin -Sobald das Plugin aktiviert ist, kannst du den Chat unter [deineSeite.de/irc](../irc) finden. Beachte aber, dass dieser Chat auch ohne Anmeldung auf deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können. +Sobald das Plugin aktiviert ist, kannst Du den Chat unter [DeineSeite.de/irc](../irc) finden. +Beachte aber, dass dieser Chat auch ohne Anmeldung auf Deiner Seite zugänglich ist und somit auch Fremde diesen Chat mitnutzen können. -Wenn du dem Link folgst, dann kommst du zum Anmeldefenster des IR-Chats. Wähle nun einen Spitznamen (Nickname) aus und wähle einen Raum aus, in dem du chatten willst. Hier kannst du jeden Namen eingeben. Es ist also auch #tollerChatdessenNamenurichkenne sein. Gib als nächstes nur noch die Captchas ein, um zu zeigen, dass es sich bei dir um einen Menschen handelt. Gehe nun auf "Connect". +Wenn Du dem Link folgst, dann kommst Du zum Anmeldefenster des IR-Chats. +Wähle nun einen Spitznamen (Nickname) und wähle einen Raum aus, in dem Du chatten willst. +Hier kannst Du jeden Namen eingeben. +Es kann also auch #tollerChatdessenNamenurichkenne sein. +Gib als nächstes noch die Captchas ein, um zu zeigen, dass es sich bei Dir um einen Menschen handelt und klicke dann auf "Connect". -Im nächsten Fenster siehst du zunächst viel Text beim Verbindungsaufbau, der allerdings für dich nicht weiter von Bedeutung ist. Anschließend öffnet sich das Chat-Fenster. In den ersten Zeilen wird dir dein Name und deine aktuelle IP-Adresse angezeigt. Rechts im Fenster siehst du alle Teilnehmer des Chats. Unten hast du ein Eingabefeld, um Beiträge zu schreiben. +Im nächsten Fenster siehst Du zunächst viel Text beim Verbindungsaufbau, der allerdings für Dich nicht weiter von Bedeutung ist. +Anschließend öffnet sich das Chat-Fenster. +In den ersten Zeilen wird Dir Dein Name und Deine aktuelle IP-Adresse angezeigt. +Rechts im Fenster siehst Du alle Teilnehmer des Chats. +Unten hast Du ein Eingabefeld, um Beiträge zu schreiben. + +Weiter Informationen zu IRC findest Du zum Beispiel auf ubuntuusers.de, in Wikipedia oder bei icrhelp.org (in Englisch). ##Jappix Mini -Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte. Ein Jabber/XMPP Account sollte vor der Installation bereits vorhanden sein. -Eine ausführliche Anleitung dazu und eine Kontrolle, ob man nicht sogar schon über seinen E-Mail Anbieter einen Jabber-Account hat, findet man unter http://einfachjabber.de. +Das Jappix Mini Plugin erlaubt das Erstellen einer Chatbox für Jabber/XMPP-Kontakte. +Ein Jabber/XMPP Account sollte vor der Installation bereits vorhanden sein. +Die ausführliche Anleitung dazu und eine Kontrolle, ob Du nicht sogar schon über Deinen E-Mail Anbieter einen Jabber-Account hast, findest Du unter einfachjabber.de. + Einige Server zum Anmelden eines neuen Accounts: * [https://jappix.com](https://jappix.com) @@ -29,25 +42,38 @@ Einige Server zum Anmelden eines neuen Accounts: **1. Grundsätzliches** -Als erstes muss die aktuellste Version heruntergeladen werden, per Git: +Als erstes musst Du die aktuellste Version herunterladen: -cd /var/www/virtual/DEINUBERSPACE/html/addon; git pull +Per Git: +

+cd /var/www/<Pfad zu Deiner friendica-Installation>/addon; git pull +

oder als normaler Download von hier: https://github.com/friendica/friendica-addons/blob/master/jappixmini.tgz (auf „view raw“ klicken) -Diese Datei wird entpackt, ggf. den entpackten Ordner in „jappixmini“ umbenennen und sowohl den kompletten entpackten Ordner als auch die .tgz Datei in den Addon Ordner deiner Friendica Installation hochladen. +Entpacke diese Datei (ggf. den entpackten Ordner in „jappixmini“ umbenennen) und lade sowohl den entpackten Ordner komplett als auch die .tgz Datei in den Addon Ordner Deiner Friendica Installation hoch. -Nach dem Upload gehts in den Friendica Adminbereich, dort zu den Plugins. Das Jappixmini Addon aktivieren und anschließend über die Plugins Seitenleiste (dort wo auch die Twitter-, Impressums-, StatusNet-, usw Einstellungen gemacht werden) zu den Jappix Grundeinstellungen gehen. +Nach dem Upload gehts in den Friendica Adminbereich und dort zu den Plugins. +Aktiviere das Jappixmini Addon und gehe anschließend über die Plugins Seitenleiste (dort wo auch die Twitter-, Impressums-, StatusNet-, usw. Einstellungen gemacht werden) zu den Jappix Grundeinstellungen. -Hier den Haken zur Aktivierung des BOSH Proxys setzen. -Weiter gehts in den Einstellungen deines Friendica Account. +Setze hier den Haken zur Aktivierung des BOSH Proxys. +Weiter gehts in den Einstellungen Deines Friendica Accounts. **2. Einstellungen** -In deinen Einstellungen (Account Settings), gehe bitte zu den Plugin-Einstellungen. Etwas scrollen bis zu Jappix Mini addon settings +Gehe bitte zu den Plugin-Einstellungen in Deinen Konto-Einstellungen (Account Settings). +Scrollen ein Stück hinunter bis zu den Jappix Mini addon settings. -Hier zuerst das Addon aktvieren. +Aktiviere hier zuerst das Addon. -Trage nun deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com). Bei „Jabber BOSH Host“ kannst du erstmal “https://bind.jappix.com/ “ eintragen. Siehe dazu auch die „Configuration Help“ weiter unten. Danach noch dein Passwort und damit ist eigentlich schon fast alles geschafft. Die weiteren Einstellmöglichkeiten bleiben dir überlassen, sind also optional. Jetzt noch auf „senden“ klicken und fertig. +Trage nun Deinen Jabber/XMPP Namen ein, ebenfalls die entsprechende Domain bzw. den Server (ohne http, also zb einfach so: jappix.com). +Bei „Jabber BOSH Host“ kannst Du erstmal “https://bind.jappix.com/ “ eintragen. +Siehe dazu auch die „Configuration Help“ weiter unten. +Gebe danach noch Dein Passwort an, und damit ist eigentlich schon fast alles geschafft. +Die weiteren Einstellmöglichkeiten bleiben Dir überlassen, sind also optional. +Jetzt noch auf „senden“ klicken und fertig. -Falls du manuell Kontakte hinzufügen möchtest, einfach den „Add Contact“ Knopf nutzen. Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster „kleben“. Viel Spass beim Chatten! +Deine Chatbox sollte jetzt irgendwo unten rechts im Browserfenster „kleben“. +Falls Du manuell Kontakte hinzufügen möchtest, einfach den „Add Contact“ Knopf nutzen. + +Viel Spass beim Chatten! diff --git a/doc/de/Connectors.md b/doc/de/Connectors.md index 52f93c883..5bb970a24 100644 --- a/doc/de/Connectors.md +++ b/doc/de/Connectors.md @@ -3,37 +3,41 @@ Konnektoren (Connectors) * [Zur Startseite der Hilfe](help) -Konnektoren erlauben es dir, dich mit anderen sozialen Netzwerken zu verbinden. Konnektoren werden nur bei bestehenden Facebook-, Twitter und StatusNet-Accounts benötigt. Außerdem gibt es einen Konnektor, um deinen Email-Posteingang zu nutzen. +Konnektoren erlauben es dir, dich mit anderen sozialen Netzwerken zu verbinden. +Konnektoren werden nur bei bestehenden Facebook-, Twitter und StatusNet-Accounts benötigt. +Außerdem gibt es einen Konnektor, um deinen Email-Posteingang zu nutzen. Wenn die folgenden Netzwerk-Konnektoren auf deinem System installiert sind, kannst du mit den folgenden Links die Einstellungsseiten besuchen und für deinen Account konfigurieren: -* [Facebook](/settings/addon) -* [Twitter](/settings/addon) -* [StatusNet](/settings/addon) -* [Email](/settings) +* [Facebook](/settings/connectors) +* [Twitter](/settings/connectors) +* [StatusNet / GNU Social](/settings/connectors) +* [Email](/settings/connectors) Anleitung, um sich mit Personen in bestimmten Netzwerken zu verbinden ========================================================== **Friendica** -Du kannst dich verbinden, indem du deine Identitäts-Adresse auf der "Verbinden"-Seite des Friendica-Nutzers eingibst. Ebenso kannst du deren Identitäts-Adresse in der "Verbinden"-Box auf deiner ["Kontakt"-Seite](contacts) eingeben. +Du kannst dich verbinden, indem du deine Identitäts-Adresse auf der "Verbinden"-Seite des Friendica-Nutzers eingibst. +Ebenso kannst du deren Identitäts-Adresse in der "Verbinden"-Box auf deiner ["Kontakt"-Seite](contacts) eingeben. **Diaspora** -Füge die Diaspore-Identitäts-Adresse (z.B. name@diasporapod.com)auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. +Füge die Diaspore-Identitäts-Adresse (z.B. name@diasporapod.com) auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. **Identi.ca/StatusNet/GNU-Social** Diese Netzwerke werden als "federated social web" bzw. "OStatus"-Kontakte bezeichnet. -Bitte beachte, dass es **keine** Einstellungen zur Privatssphäre im OStatus-Netzwerk gibt. **Jede** Nachricht, die an eines dieser OStatus-Mitglieder verschickt wird, ist für jeden auf der Welt sichtbar; alle Privatssphäreneinstellungen verlieren ihre Wirkung. Diese Nachrichten erscheinen ebenfalls in öffentlichen Suchergebnissen. +Bitte beachte, dass es **keine** Einstellungen zur Privatssphäre im OStatus-Netzwerk gibt. +**Jede** Nachricht, die an eines dieser OStatus-Mitglieder verschickt wird, ist für jeden auf der Welt sichtbar; alle Privatssphäreneinstellungen verlieren ihre Wirkung. Diese Nachrichten erscheinen ebenfalls in öffentlichen Suchergebnissen. Da die OStatus-Kommunikation keine Authentifizierung benutzt, können OStatus-Nutzer *keine* Nachrichten empfangen, wenn du in deinen Privatssphäreneinstellungen "Profil und Nachrichten vor Unbekannten verbergen" wählst. -Um dich mit einem OStatus-Mitglied zu verbinden, trage deren Profil-URL oder Identitäts-Adresse auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. +Um dich mit einem OStatus-Mitglied zu verbinden, trage deren Identitäts-Adresse auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. Der StatusNet-Konnektor kann genutzt werden, wenn du Beiträge schreiben willst, die auf einer OStatus-Seite über einen existierenden OStatus-Account erscheinen sollen. @@ -42,26 +46,40 @@ Das ist nicht notwendig, wenn du OStatus-Mitgliedern von Friendica aus folgst un **Blogger, Wordpress, RSS feeds, andere Webseiten** -Trage die URL auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. Du hast keine Möglichkeit, diesen Kontakten zu antworten. +Trage die URL auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. +Du hast keine Möglichkeit, diesen Kontakten zu antworten. -Das erlaubt dir, dich mit Millionen von Seiten im Internet zu _verbinden_. Alles, was dafür nötig ist, ist dass die Seite einen Feed im RSS- oder Atom Syndication-Format nutzt und welches einen Autoren und ein Bild zur Seite liefert. +Das erlaubt dir, dich mit Millionen von Seiten im Internet zu _verbinden_. +Alles, was dafür nötig ist, ist dass die Seite einen Feed im RSS- oder Atom Syndication-Format nutzt und welches einen Autoren und ein Bild zur Seite liefert. **Twitter** -Um einem Twitter-Nutzer zu folgen, trage die URL der Hauptseite des Twitter-Accounts auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. Um zu antworten, musst du den Twitter-Konnektor installieren und über deinen eigenen Status-Editor antworten. Beginne deine Nachricht mit @twitternutzer, ersetze das aber durch den richtigen Twitter-Namen. +Um einem Twitter-Nutzer zu folgen, muss der Twitter-Connektor installiert sein. +Trage die URL der Hauptseite des Twitter-Accounts auf deiner ["Kontakte"-Seite](contacts) in das Feld "Neuen Kontakt hinzufügen" ein. **Email** -Konfiguriere den Email-Konnektor auf deiner [Einstellungsseite](settings). Wenn du das gemacht hast, kannst du auf deiner ["Kontakte"-Seite](contacts) die Email-Adresse in das Feld "Neuen Kontakt hinzufügen" eintragen. Diese Email-Adresse muss jedoch bereits mit einer Nachricht in deinem Email-Posteingang auf dem Server liegen. Du hast die Möglichkeit, Email-Kontakte in deine privaten Unterhaltungen einzubeziehen. +Konfiguriere den Email-Konnektor auf deiner [Einstellungsseite](settings). +Wenn du das gemacht hast, kannst du auf deiner ["Kontakte"-Seite](contacts) die Email-Adresse in das Feld "Neuen Kontakt hinzufügen" eintragen. +Diese Email-Adresse muss jedoch bereits mit einer Nachricht in deinem Email-Posteingang auf dem Server liegen. +Du hast die Möglichkeit, Email-Kontakte in deine privaten Unterhaltungen einzubeziehen. **Facebook** -Der Facebook-Konnektor ist ein Plugin/Addon, dass es dir erlaubt, von Friendica aus mit Freunden auf Facebook zu interagieren. Wenn er aktiviert ist, wird deine Facebook-Freundesliste importiert und du wirst Facebook-Beiträge sehen und kommentieren können. Facebook-Freunde können außerdem zu privaten Gesprächen hinzugefügt werden. Du hast nicht die Möglichkeit, einzelne Facebook-Accounts hinzuzufügen, sondern nur deine gesamte Freundesliste, die aktualisiert wird, wenn neue Freunde hinzugefügt werden. +Der Facebook-Konnektor ist ein Plugin/Addon, dass es dir erlaubt, von Friendica aus mit Freunden auf Facebook zu interagieren. +Wenn er aktiviert ist, wird deine Facebook-Freundesliste importiert und du wirst Facebook-Beiträge sehen und kommentieren können. +Facebook-Freunde können außerdem zu privaten Gesprächen hinzugefügt werden. +Du hast nicht die Möglichkeit, einzelne Facebook-Accounts hinzuzufügen, sondern nur deine gesamte Freundesliste, die aktualisiert wird, wenn neue Freunde hinzugefügt werden. -Wenn das Facebook-Plugin/Addon installiert ist, kannst du diesen auf deiner Einstellungsseite unter ["Facebook Connector Settings"](settings/addon) einstellen. Dieser Eintrag erscheint nur, wenn das Plugin/Addon installiert ist. Folge den Vorgaben, um den Facebook-Konnektor zu installieren oder löschen. +Wenn das Facebook-Plugin/Addon installiert ist, kannst du diesen auf deiner Einstellungsseite unter ["Facebook Connector Settings"](/settings/connectors) einstellen. +Dieser Eintrag erscheint nur, wenn das Plugin/Addon installiert ist. +Folge den Vorgaben, um den Facebook-Konnektor zu installieren oder löschen. -Du kannst ebenfalls auswählen, ob deine öffentlichen Posts auch standardmäßig bei Facebook veröffentlicht werden sollen. Du kannst diese Einstellung jederzeit im aktuellen Beitrag beeinflussen, indem du auf das "Schloss"-Icon unter dem Beitragseditor gehst. Diese Einstellung hat keine Auswirkung auf private Unterhaltungen. Diese werden immer an Facebook-Freunde mit den entsprechenden Genehmigungen geschickt. +Du kannst ebenfalls auswählen, ob deine öffentlichen Posts auch standardmäßig bei Facebook veröffentlicht werden sollen. +Du kannst diese Einstellung jederzeit im aktuellen Beitrag beeinflussen, indem du auf das "Schloss"-Icon unter dem Beitragseditor gehst. +Diese Einstellung hat keine Auswirkung auf private Unterhaltungen. +Diese werden immer an Facebook-Freunde mit den entsprechenden Genehmigungen geschickt. (Beachte: Aktuell können Facebook-Kontakte keine privaten Fotos sehen. Das wird zukünftig gelöst. Facebook-Kontakte können aber trotzdem öffentliche Fotos sehen, die du hochgeladen hast.) diff --git a/doc/de/Developers.md b/doc/de/Developers.md index f5c90c489..fce3ccc2d 100644 --- a/doc/de/Developers.md +++ b/doc/de/Developers.md @@ -17,6 +17,9 @@ Gehe nun zu deiner Github-Seite und erstelle eine "Pull request", wenn du soweit **Wichtig** -Bitte hole dir alle Änderungen aus dem Projektverzeichnis und führe sie mit deiner Arbeit zusammen, **bevor** du deine "pull request" stellt. Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen. Dies gilt vor allem für Übersetzungen, da wir hier möglicherweise nicht alle feinen Unterschiede in konfliktären Versionen erkennen können. +Bitte hole dir alle Änderungen aus dem Projektverzeichnis und führe sie mit deiner Arbeit zusammen, **bevor** du deine "pull request" stellt. +Wir behalten es uns vor, Patches abzulehnen, die eine große Anzahl an Fehlern hervorrufen. +Dies gilt vor allem für Übersetzungen, da wir hier möglicherweise nicht alle feinen Unterschiede in konfliktären Versionen erkennen können. -Außerdem: **teste deine Änderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann. Lass deine Änderungen von einem erfahrenen Friendica-Entwickler gegenprüfen. +Außerdem: **teste deine Änderungen!** Vergiss nicht, dass eine simple Fehlerlösung einen anderen Fehler auslösen kann. +Lass deine Änderungen von einem erfahrenen Friendica-Entwickler gegenprüfen. diff --git a/doc/de/FAQ.md b/doc/de/FAQ.md index a1c5d0114..bbd3b1f77 100644 --- a/doc/de/FAQ.md +++ b/doc/de/FAQ.md @@ -6,8 +6,7 @@ Häufig gestellte Fragen - FAQ Nutzer * **[Warum erhalte ich Warnungen über fehlende Zertifikate?](help/FAQ#ssl)** -* **[Wie kann ich Bilder, Dateien, Links, Video und Audio in Beiträge einfügen? -](help/FAQ#upload)** +* **[Wie kann ich Bilder, Dateien, Links, Video und Audio in Beiträge einfügen?](help/FAQ#upload)** * **[Ist es möglich, bei mehreren Profilen verschiedene Avatare (Nutzerbilder) zu haben?](help/FAQ#avatars)** * **[Was ist der Unterschied zwischen blockierten|ignorierten|archivierten|versteckten Kontakten?](help/FAQ#contacts)** * **[Was passiert, wenn ein Account gelöscht ist? Ist dieser richtig gelöscht?](help/FAQ#removed)** @@ -37,27 +36,39 @@ Manchmal erhältst du eine Browser-Warnung über fehlende Zertifikate. Diese War *(SSL (Secure Socket Layer) ist eine Technologie, die Daten auf ihrem Weg zwischen zwei Computern verschlüsselt.)* -Wenn du noch kein SSL-Zertifikat hast, dann gibt es drei Wege, eines zu erhalten: kauf dir eines, hole dir ein kostenloses (z.B. bei StartSSL) oder kreiere dein eigenes (nicht empfohlen). [Weitere Informationen über die Einrichtung von SSL und warum es schlecht ist, selbst-signierte Zertifikate zu nutzen, findest du hier.](help/SSL) +Wenn du noch kein SSL-Zertifikat hast, dann gibt es drei Wege, eines zu erhalten: kauf dir eines, hole dir ein kostenloses (z.B. bei StartSSL) oder kreiere dein eigenes (nicht empfohlen). +[Weitere Informationen über die Einrichtung von SSL und warum es schlecht ist, selbst-signierte Zertifikate zu nutzen, findest du hier.](help/SSL) -Sei dir bewusst, dass Browser-Warnungen über Sicherheitslücken etwas sind, wodurch neue Nutzer schnell das Vertrauen in das gesamte Friendica-Projekt verlieren können. Aus diesem Grund wird Friendica Red nur SSL-Zertifikate eines anerkannten Anbieters (CA, certificate authority) akzeptieren und nicht zu Seiten verbinden, die kein SSL nutzen. Unabhängig von den negativen Aspekten von SSL handelt es sich hierbei um eine notwendige Lösung, solange keine etablierte Alternative existiert. +Sei dir bewusst, dass Browser-Warnungen über Sicherheitslücken etwas sind, wodurch neue Nutzer schnell das Vertrauen in das gesamte Friendica-Projekt verlieren können. +Unabhängig von den negativen Aspekten von SSL handelt es sich hierbei um eine notwendige Lösung, solange keine etablierte Alternative existiert. Abgesehen davon kann es ohne SSL auch Probleme mit der Verbindung zu Diaspora geben, da einige Diaspora-Pods eine zertifizierte Verbindung benötigen. -Wenn du Friendica nur für eine bestimmte Gruppe von Leuten auf einem einzelnen Server nutzt, bei dem keine Verbindung zum restlichen Netzwerk besteht, dann benötigst du kein SSL. Ebenso benötigst du SSL nicht, wenn du ausschließlich öffentliche Beiträge auf deiner Seite veröffentlichst bzw. empfängst. +Wenn du Friendica nur für eine bestimmte Gruppe von Leuten auf einem einzelnen Server nutzt, bei dem keine Verbindung zum restlichen Netzwerk besteht, dann benötigst du kein SSL. +Ebenso benötigst du SSL nicht, wenn du ausschließlich öffentliche Beiträge auf deiner Seite veröffentlichst bzw. empfängst. -Wenn du zum jetzigen Zeitpunkt noch keinen Server aufgesetzt hast, ist es sinnvoll, die verschiedenen Anbieter in Bezug auf SSL zu vergleichen. Einige erlauben die Nutzung von freien Zertifikaten oder lassen dich ihre eigenen Zertifikate mitnutzen. Andere erlauben nur kostenpflichtige Zertifikate als eigenes Angebot bzw. von anderen Anbietern. +Wenn du zum jetzigen Zeitpunkt noch keinen Server aufgesetzt hast, ist es sinnvoll, die verschiedenen Anbieter in Bezug auf SSL zu vergleichen. +Einige erlauben die Nutzung von freien Zertifikaten oder lassen dich ihre eigenen Zertifikate mitnutzen. +Andere erlauben nur kostenpflichtige Zertifikate als eigenes Angebot bzw. von anderen Anbietern. **Wie kann ich Bilder, Dateien, Links, Video und Audio in Beiträge einfügen?** -Bilder können direkt im [Beitragseditor](help/Text_editor) vom Computer hochgeladen werden. Eine Übersicht aller Bilder, die auf deinem Server liegen, findest du unter deineSeite.de/photos/profilname. Dort kannst du auch direkt Bilder hochladen und festlegen, ob deine Kontakte eine Nachricht über das neue Bild bekommen. +Bilder können direkt im [Beitragseditor](help/Text_editor) vom Computer hochgeladen werden. +Eine Übersicht aller Bilder, die auf deinem Server liegen, findest du unter deineSeite.de/photos/profilname. +Dort kannst du auch direkt Bilder hochladen und festlegen, ob deine Kontakte eine Nachricht über das neue Bild bekommen. -Alle Arten von Dateien können grundsätzlich als Anhang in Friendica hochgeladen werden. Dafür verwendest du das Büroklammersymbol im Editor. Sie sind dann direkt an den Beitrag geknüpft, können von den Betrachtern heruntergeladen werden, aber werden nicht als Vorschau angezeigt. Deshalb eignet sich diese Methode vor allem für Office-Dateien oder gepackte Dateien wie ZIPs, aber weniger für Multimediadateien. Wer hingegen Dateien über Dropbox, über eine auf dem eigenen Server installierte Owncloud oder über einen anderen [Filehoster](http://en.wikipedia.org/wiki/Comparison_of_file_hosting_services) einfügen will, verwendet den Link-Button. +Alle Arten von Dateien können grundsätzlich als Anhang in Friendica hochgeladen werden. Dafür verwendest du das Büroklammersymbol im Editor. +Sie sind dann direkt an den Beitrag geknüpft, können von den Betrachtern heruntergeladen werden, aber werden nicht als Vorschau angezeigt. +Deshalb eignet sich diese Methode vor allem für Office-Dateien oder gepackte Dateien wie ZIPs, aber weniger für Multimediadateien. +Wer hingegen Dateien über Dropbox, über eine auf dem eigenen Server installierte Owncloud oder über einen anderen [Filehoster](http://en.wikipedia.org/wiki/Comparison_of_file_hosting_services) einfügen will, verwendet den Link-Button. -Wenn du mit dem Link-Button (Ketten-Symbol) URLs zu anderen Seiten einfügst, versucht Friendica eine kurze Zusammenfassung als Vorschau abzurufen. Manchmal klappts das nicht ... dann verlinke den Beitrag einfach per [url=http://example.com]freigewählter Name[/url] im Editor. +Wenn du mit dem Link-Button (Ketten-Symbol) URLs zu anderen Seiten einfügst, versucht Friendica eine kurze Zusammenfassung als Vorschau abzurufen. +Manchmal klappts das nicht ... dann verlinke den Beitrag einfach per [url=http://example.com]freigewählter Name[/url] im Editor. -Video- und Audiodateien können zwar in Beiträge eingebunden werden, allerdings geht das nicht über einen direkten Upload im Editor wie bei Fotos. Du hast zwei Möglichkeiten: +Video- und Audiodateien können zwar in Beiträge eingebunden werden, allerdings geht das nicht über einen direkten Upload im Editor wie bei Fotos. +Du hast zwei Möglichkeiten: 1. Du kannst bei dem Video- oder Audiobutton die URL von einem Hoster eingeben (Youtube, Vimeo, Soundcloud und alle anderen mit oembed/opengraph-Unterstützung). Bei Videos zeigt Friendica dann ein Vorschaubild in deinem Beitrag an, nach einem Klick öffnet sich ein eingebetter Player. Bei Soundcloud wird der Player direkt eingebunden. 2. Wenn du Zugang zu einem eigenen Server hast, kannst deine Multimediadatei per FTP dort hochladen und beim Video-/Audiobutton diese URL angeben. Dann wird das Video oder die Audiodatei direkt mit einem Player in deinem Beitrag angezeigt. @@ -69,33 +80,50 @@ Zum Konvertieren von Videos in das lizenfreie Videoformat WebM gibt es unter Win **Ist es möglich, bei mehreren Profilen verschiedene Avatare (Nutzerbilder) zu haben?** -Ja. Auf deiner ["Profile verwalten/editieren"-Seite](../profiles) wählst du zunächst das gewünschte Profil aus. Anschließend siehst du eine Seite mit allen Infos zu diesem Profil. Klicke nun oben auf den Link "Profilbild ändern" und lade im nächsten Fenster ein Bild von deinem PC hoch. Um deine privaten Daten zu schützen, wird in Beiträgen nur das Bild aus deinem öffentlichen Profil angezeigt. +Ja. +Auf deiner ["Profile verwalten/editieren"-Seite](../profiles) wählst du zunächst das gewünschte Profil aus. +Anschließend siehst du eine Seite mit allen Infos zu diesem Profil. +Klicke nun oben auf den Link "Profilbild ändern" und lade im nächsten Fenster ein Bild von deinem PC hoch. +Um deine privaten Daten zu schützen, wird in Beiträgen nur das Bild aus deinem öffentlichen Profil angezeigt. **Was ist der Unterschied zwischen blockierten|ignorierten|archivierten|versteckten Kontakten?** -Wir verhindern direkte Kommunikation mit blockierten Kontakten. Sie gehören nicht zu den Empfängern beim Versand von Beiträgen und deren Beiträge werden auch nicht importiert. Trotzdem werden deren Unterhaltungen mit deinen Freunden trotzdem in deinem Stream sichtbar sein. Wenn du einen Kontakt komplett löschst, können sie dir eine neue Freundschaftsanfrage schicken. Blockierte Kontakte können das nicht machen. Sie können nicht mit dir direkt kommunizieren, nur über Freunde. +Wir verhindern direkte Kommunikation mit blockierten Kontakten. +Sie gehören nicht zu den Empfängern beim Versand von Beiträgen und deren Beiträge werden auch nicht importiert. +Trotzdem werden deren Unterhaltungen mit deinen Freunden trotzdem in deinem Stream sichtbar sein. +Wenn du einen Kontakt komplett löschst, können sie dir eine neue Freundschaftsanfrage schicken. +Blockierte Kontakte können das nicht machen. +Sie können nicht mit dir direkt kommunizieren, nur über Freunde. -Ignorierte Kontakte können weiterhin Beiträge von dir erhalten. Deren Beiträge werden allerdings nicht importiert. Wie bei blockierten Beiträgen siehst du auch hier weiterhin die Kommentare dieser Person zu anderen Beiträgen deiner Freunde. +Ignorierte Kontakte können weiterhin Beiträge von dir erhalten. +Deren Beiträge werden allerdings nicht importiert. +Wie bei blockierten Beiträgen siehst du auch hier weiterhin die Kommentare dieser Person zu anderen Beiträgen deiner Freunde. -[Ein Plugin namens "blockem" kann installiert werden, um alle Beiträge einer bestimmten Person in deinem Stream zu verstecken bzw. zu verkürzen. Dabei werden auch Kommentare dieser Person in Beiträgen deiner Freunde blockiert.] +Ein Plugin namens "blockem" kann installiert werden, um alle Beiträge einer bestimmten Person in deinem Stream zu verstecken bzw. zu verkürzen. Dabei werden auch Kommentare dieser Person in Beiträgen deiner Freunde blockiert. -Ein archivierter Kontakt bedeutet, dass Kommunikation nicht möglich ist und auch nicht versucht wird (das ist z.B. sinnvoll, wenn eine Person zu einer neuen Seite gewechselt ist und das alte Profil gelöscht hat). Anders als beim Blockieren werden existierende Beiträge, die vor der Archivierung erstellt wurden, weiterhin angezeigt. +Ein archivierter Kontakt bedeutet, dass Kommunikation nicht möglich ist und auch nicht versucht wird (das ist z.B. sinnvoll, wenn eine Person zu einer neuen Seite gewechselt ist und das alte Profil gelöscht hat). +Anders als beim Blockieren werden existierende Beiträge, die vor der Archivierung erstellt wurden, weiterhin angezeigt. -Ein versteckter Kontakt wird in keiner "Freundeliste" erscheinen (außer für dich). Trotzdem wird ein versteckter Kontakt trotzdem normal in Unterhaltungen angezeigt, was jedoch für andere Kontakte ein Hinweis sein kann, dass diese Person als versteckter Kontakt in deiner Liste ist. +Ein versteckter Kontakt wird in keiner "Freundeliste" erscheinen (außer für dich). +Trotzdem wird ein versteckter Kontakt trotzdem normal in Unterhaltungen angezeigt, was jedoch für andere Kontakte ein Hinweis sein kann, dass diese Person als versteckter Kontakt in deiner Liste ist. **Was passiert, wenn ein Account gelöscht ist? Ist dieser richtig gelöscht?** -Wenn du deinen Account löschst, wird sofort der gesamte Inhalt auf deinem Server gelöscht und ein Löschbefehl an alle deine Kontakte verschickt. Dadurch wirst du ebenfalls aus dem globalen Verzeichnis gelöscht. Dieses Vorgehen setzt voraus, dass dein Profil für 24 Stunden weiterhin "teilweise" verfügbar sein wird, um eine Verbindung zu allen deinen Kontakten ermöglicht. Wir können also dein Profil blockieren und es so erscheinen lassen, als wären alle Daten sofort gelöscht, allerdings warten wir 24 Stunden (bzw. bis alle deine Kontakte informiert wurden), bevor wir die Daten auch physikalisch löschen. +Wenn du deinen Account löschst, wird sofort der gesamte Inhalt auf deinem Server gelöscht und ein Löschbefehl an alle deine Kontakte verschickt. +Dadurch wirst du ebenfalls aus dem globalen Verzeichnis gelöscht. +Dieses Vorgehen setzt voraus, dass dein Profil für 24 Stunden weiterhin "teilweise" verfügbar sein wird, um eine Verbindung zu allen deinen Kontakten ermöglicht. +Wir können also dein Profil blockieren und es so erscheinen lassen, als wären alle Daten sofort gelöscht, allerdings warten wir 24 Stunden (bzw. bis alle deine Kontakte informiert wurden), bevor wir die Daten auch physikalisch löschen. **Kann ich einem hashtag folgen?** -Nein. Die Möglichkeit, einem hashtag zu folgen, ist eine interessante Technik, führt aber zu einigen Schwierigkeiten. +Nein. +Die Möglichkeit, einem hashtag zu folgen, ist eine interessante Technik, führt aber zu einigen Schwierigkeiten. 1.) Alle Beiträge, die diesen tag nutzen, müssten zu allen Seiten im Netzwerk kopiert werden. Das erhöht den Speicherbedarf und beeinträchtigt kleine Seiten. Die Nutzung von geteilten Hosting-Angeboten (Shared Hosting) wäre praktisch unmöglich. @@ -103,7 +131,8 @@ Nein. Die Möglichkeit, einem hashtag zu folgen, ist eine interessante Technik, 3.) Der wichtigste Grund der gegen diese Technik spricht ist, dass sie eine natürliche Ausrichtung auf größere Seiten mit mehr getaggten Inhalten zur Folge hat. Dies kann z.B. aufkommen, wenn dein Netzwerk tags anstelle von anderen Kommunikationsmitteln wie Gruppen oder Foren nutzt. -Stattdessen bieten wir andere Mechanismen, um globale Unterhaltungen zu erreichen, dabei aber eine angemesse Basis für kleine und große Seiten zu bieten. Hierzu gehören Foren, Gruppen und geteilte tags. +Stattdessen bieten wir andere Mechanismen, um globale Unterhaltungen zu erreichen, dabei aber eine angemesse Basis für kleine und große Seiten zu bieten. +Hierzu gehören Foren, Gruppen und geteilte tags. @@ -131,11 +160,12 @@ RSS-Feed aller Unterhaltungen auf deiner Seite **Wo finde ich Hilfe?** -Wenn du Probleme mit deiner Friendica-Seite hast, dann kannst du die Community in der [Friendica-Support-Gruppe](https://helpers.pyxis.uberspace.de/profile/helpers) oder im [deutschen Friendica-Support-Forum](http://toktan.org/profile/wiki) fragen oder dir das [deutsche Wiki](http://wiki.toktan.org/doku.php) anschauen. Wenn du deinen Account nicht nutzen kannst, kannst du entweder einen [Testaccount](http://friendica.com/node/31) bzw. einen Account auf einer öffentlichen Seite ([Liste](http://dir.friendica.com/siteinfo)) nutzen, oder du wählst die Librelist-mailing-Liste. Wenn du die Mailing-Liste nutzen willst, schicke eine Mail an friendica AT librelist PUNKT com. - -Wenn du Friendica Red nutzt, findest du außerdem in diesem Forum Hilfe: [Friendica Red Development](https://myfriendica.net/profile/friendicared). +Wenn du Probleme mit deiner Friendica-Seite hast, dann kannst du die Community in der [Friendica-Support-Gruppe](https://helpers.pyxis.uberspace.de/profile/helpers) oder im [deutschen Friendica-Support-Forum](http://toktan.org/profile/wiki) fragen oder dir das [deutsche Wiki](http://wiki.toktan.org/doku.php) anschauen. +Wenn du deinen Account nicht nutzen kannst, kannst du entweder einen [Testaccount](http://friendica.com/node/31) bzw. einen Account auf einer öffentlichen Seite ([Liste](http://dir.friendica.com/siteinfo)) nutzen, oder du wählst die Librelist-mailing-Liste. +Wenn du die Mailing-Liste nutzen willst, schicke eine Mail an friendica AT librelist PUNKT com. Wenn du ein Theme-Entwickler bist, wirst du in diesem Forum Hilfe finden: [Friendica Theme Developers](https://friendica.eu/profile/ftdevs). +Desweiteren gibt es ein Forum, das sich UI/UX Problemen widmet [UX Watchdogs](https://fc.oscp.info/profile/ux-watchdogs). Admin -------- @@ -144,14 +174,18 @@ Admin **Kann ich mehrere Domains mit den selben Dateien aufsetzen?** -Ja, das ist möglich. Es ist allerdings nicht möglich, eine Datenbank durch zwei Domains zu nutzen. Solange du deine .htconfig.php allerdings so einrichtest, dass das System nicht versucht, eine Installation durchzuführen, kannst du die richtige Config-Datei in include/$hostname/.htconfig.php hinterlegen. Alle Cache-Aspekte und der Zugriffsschutz können pro Instanz konfiguriert werden. +Ja, das ist möglich. +Es ist allerdings nicht möglich, eine Datenbank durch zwei Domains zu nutzen. +Solange du deine .htconfig.php allerdings so einrichtest, dass das System nicht versucht, eine Installation durchzuführen, kannst du die richtige Config-Datei in include/$hostname/.htconfig.php hinterlegen. +Alle Cache-Aspekte und der Zugriffsschutz können pro Instanz konfiguriert werden. **Wo kann ich den Quellcode von Friendica, Addons und Themes finden?** -Du kannst den Friendica-Quellcode [hier](https://github.com/friendica/friendica) finden. Dort findest du immer die aktuellste stabile Version von Friendica. Der Quellcode von Friendica Red ist [hier](https://github.com/friendica/red) zu finden. +Du kannst den Friendica-Quellcode [hier](https://github.com/friendica/friendica) finden. +Dort findest du immer die aktuellste stabile Version von Friendica. Addons findest du auf [dieser Seite](https://github.com/friendica/friendica-addons). -Wenn du neue Themen suchst, findest du sie auf [Friendica-Themes.com](http://friendica-themes.com/) \ No newline at end of file +Wenn du neue Themen suchst, findest du sie auf [Friendica-Themes.com](http://friendica-themes.com/) diff --git a/doc/de/Forums.md b/doc/de/Forums.md index 6a8fd5bd7..08127830c 100644 --- a/doc/de/Forums.md +++ b/doc/de/Forums.md @@ -6,32 +6,52 @@ Foren Friendica lässt dich auch Foren und/oder Prominenten-Seiten erstellen. -Jede Seite in Friendica hat einen einzigartigen Spitznamen. Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseite handelt. +Jede Seite in Friendica hat einen einzigartigen Spitznamen. +Das gilt für alle Seiten, unabhängig davon, ob es sich um normale Profile oder Forenseite handelt. -Das Erste, was du machen musst, um ein neues Forum zu kreieren ist, einen neuen Account zu erstellen. Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann. +Das Erste, was du machen musst, um ein neues Forum zu kreieren ist, einen neuen Account zu erstellen. +Bitte beachte, dass der Seitenadministrator die Registrierung neuer Accounts sperren oder an Bedingungen knüpfen kann. Wenn du einen zweiten Account in einem System erstellst und die gleiche Email-Adresse oder den gleichen OpenID-Account nutzt, kannst du dich zukünftig nur noch mit deinem Spitznamen anmelden. -Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen". Normalerweise nutzt du "Normales Konto" für einen normalen, persönlichen Account. Das ist die Standardeinstellung. Gr‬uppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen. +Gehe im neuen Account auf die "Einstellungs"-Seite und dort am Ende der Seite auf "Erweiterte Konto-/Seitentyp-Einstellungen". +Normalerweise nutzt du "Normales Konto" für einen normalen, persönlichen Account. +Das ist die Standardeinstellung. Gr‬uppenseiten bieten die Möglichkeit, Leute als Freund/Fan ohne Kontaktbestätigung zuzulassen. -Die Auswahl der Einstellung, die du wählst, hängt davon ab, wie du mit anderen Leuten auf deiner Seite interagieren willst. Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren. Alles was du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren. Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt. +Die Auswahl der Einstellung, die du wählst, hängt davon ab, wie du mit anderen Leuten auf deiner Seite interagieren willst. +Die "Marktschreier"-Einstellung (Soapbox) lässt den Seitenbesitzer die gesamte Kommunikation kontrollieren. +Alles was du schreibst, geht an alle Seitennutzer, aber es gibt keine Möglichkeit, zu interagieren. +Diese Seite wird normalerweise für Ankündigungen oder die Kommunikation von Gemeinschaften genutzt. -Die normalste Einstellung ist das "Forum-/Promi-Konto". Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können. +Die normalste Einstellung ist das "Forum-/Promi-Konto". +Diese erstellt eine Gruppenseite, in der alle Mitglieder frei miteinander interagieren können. Der "Automatische Freunde Seite"-Account ist typischerweise für persönliche Profile, bei denen du alle Freundschaftsanfragen automatisch bestätigen willst. **Multiple Foren verwalten** -Wir schlagen vor, dass du ein Gruppenforum mit der gleichen Email-Adresse und dem gleichen Passwort wie bei deinem normalen Account nutzt. Wenn du das machst, findest du einen neuen "Verwalten"-Link im Hauptmenü, das dir hilft, einfach zwischen den Identitäten zu wechseln. Du musst das nicht machen, die Alternative ist allerdings, dich immer wieder aus- und wieder einzuloggen. Und das kann umständlich sein, wenn du mehrere verschiedene Foren/Identitäten verwaltest. +Wir schlagen vor, dass du ein Gruppenforum mit der gleichen Email-Adresse und dem gleichen Passwort wie bei deinem normalen Account nutzt. +Wenn du das machst, findest du einen neuen "Verwalten"-Link im Hauptmenü, das dir hilft, einfach zwischen den Identitäten zu wechseln. +Du musst das nicht machen, die Alternative ist allerdings, dich immer wieder aus- und wieder einzuloggen. +Und das kann umständlich sein, wenn du mehrere verschiedene Foren/Identitäten verwaltest. -Du kannst ebenso jemanden wählen, der dein Forum verwaltet. Mach das, indem du die [Delegierungs-Setup-Seite](delegate) besuchst. Dort wird dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt. Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, dein Forum zu verwalten. Sie können Kontakte, Profile und alle Inhalte deines Accounts/deiner Seite bearbeiten. Bitte nutze diese Einstellung mit Vorsicht. Delegierte haben jedoch keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen. +Du kannst ebenso jemanden wählen, der dein Forum verwaltet. +Mach das, indem du die [Delegierungs-Setup-Seite](delegate) besuchst. +Dort wird dir eine Liste an "Potentiellen Bevollmächtigen" angezeigt. +Die Auswahl einer oder mehrerer Personen gibt diesen die Möglichkeit, dein Forum zu verwalten. +Sie können Kontakte, Profile und alle Inhalte deines Accounts/deiner Seite bearbeiten. +Bitte nutze diese Einstellung mit Vorsicht. +Delegierte haben jedoch keine Möglichkeit, grundlegende Account-Einstellungen wie das Passwort oder den Seitentypen zu ändern bzw. den Account zu löschen. **Beiträge auf Community-Foren** -Wenn du Mitglied eines Community-Forums bist, kannst du das Forum in einem Beitrag hinzufügen/erwähnen, wenn du den @-Tag nutzt. Zum Beispiel würde @Fahrrad deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind. Wenn dein Beitrag privat ist, musst du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit dem @-Tag erwähnen (was den Beitrag auf die Gruppenmitglieder erweitert). +Wenn du Mitglied eines Community-Forums bist, kannst du das Forum in einem Beitrag hinzufügen/erwähnen, wenn du den @-Tag nutzt. +Zum Beispiel würde @Fahrrad deinen Beitrag neben den sonst ausgewählten Nutzern an alle Nutzer schicken, die in der Gruppe "Fahrrad" sind. +Wenn dein Beitrag privat ist, musst du diese Gruppe explizit in den Zugriffsrechten des Beitrags auswählen **und** sie mit dem @-Tag erwähnen (was den Beitrag auf die Gruppenmitglieder erweitert). Du kannst außerdem via "Wall zu Wall" einen Beitrag auf der Community-Seite bzw. in dem Community-Forum erstellen. -Kommentare, die du an ein Community-Forum schickst, werden an den Originalbeitrag weitergeleitet. Das Forum mit dem @-Tag zu erwähnen, leitet den Beitrag nicht weiter, da die Verteilung des Beitrages komplett vom Original-Beitragsschreiber kontrolliert wird. +Kommentare, die du an ein Community-Forum schickst, werden an den Originalbeitrag weitergeleitet. +Das Forum mit dem @-Tag zu erwähnen, leitet den Beitrag nicht weiter, da die Verteilung des Beitrages komplett vom Original-Beitragsschreiber kontrolliert wird. diff --git a/doc/de/Groups-and-Privacy.md b/doc/de/Groups-and-Privacy.md index 90487e898..abb650036 100644 --- a/doc/de/Groups-and-Privacy.md +++ b/doc/de/Groups-and-Privacy.md @@ -3,66 +3,110 @@ Gruppen und Privatsphäre * [Zur Startseite der Hilfe](help) -Gruppen sind nur eine Ansammlung von Freunden. Aber Friendica nutzt diese, um sehr mächtige Features zur Verfügung zu stellen. +Gruppen sind nur eine Ansammlung von Freunden. +Aber Friendica nutzt diese, um sehr mächtige Features zur Verfügung zu stellen. **Gruppen erstellen** -Um eine Gruppe zu erstellen, besuche deine "Kontakte"-Seite und wähle "Neue Gruppe erstellen" (je nach Design nur als Pluszeichen angezeigt). Gib deiner Gruppe einen Namen. +Um eine Gruppe zu erstellen, besuche deine "Kontakte"-Seite und wähle "Neue Gruppe erstellen" (je nach Design nur als Pluszeichen angezeigt). +Gib deiner Gruppe einen Namen. Das führt dich zu einer Seite, auf der du die Gruppenmitglieder auswählen kannst. -Du hast zwei Boxen auf der Seite. Die obere Box ist die Übersicht der aktuellen Mitglieder. Die untere beinhaltet alle Freunde, die *nicht* Mitglied dieser Gruppe sind. +Du hast zwei Boxen auf der Seite. +Die obere Box ist die Übersicht der aktuellen Mitglieder. +Die untere beinhaltet alle Freunde, die *nicht* Mitglied dieser Gruppe sind. -Wenn du auf das Foto einer Person klickst, die nicht in der Gruppe ist, wird diese in die Gruppe verschoben. Wenn du auf das Foto einer Person klickst, die bereits in der Gruppe ist, dann wird diese Person daraus entfernt. +Wenn du auf das Foto einer Person klickst, die nicht in der Gruppe ist, wird diese in die Gruppe verschoben. +Wenn du auf das Foto einer Person klickst, die bereits in der Gruppe ist, dann wird diese Person daraus entfernt. **Zugriffskontrolle** -Sobald du eine Gruppe erstellt hast, kannst du diese auf jeder Zugriffsrechteliste nutzen. Damit ist das kleine Schloss neben deinem Statuseditor auf deiner Startseite gemeint. Wenn du darauf klickst, kannst du auswählen, wer deinen Beitrag sehen kann und wer *nicht*. Dabei kann es sich um eine einzelne Person oder eine ganze Gruppe handeln. +Sobald du eine Gruppe erstellt hast, kannst du diese auf jeder Zugriffsrechteliste nutzen. +Damit ist das kleine Schloss neben deinem Statuseditor auf deiner Startseite gemeint. +Wenn du darauf klickst, kannst du auswählen, wer deinen Beitrag sehen kann und wer *nicht*. +Dabei kann es sich um eine einzelne Person oder eine ganze Gruppe handeln. -Auf deiner "Netzwerk"-Seite ("Unterhaltungen deiner Kontakte") findest du Beiträge und Gespräche aller deiner Kontakte in deinem Netzwerk. Du kannst aber auch eine einzelne Gruppe auswählen und nur Beiträge dieser Gruppenmitglieder anzeigen lassen. +Auf deiner "Netzwerk"-Seite ("Unterhaltungen deiner Kontakte") findest du Beiträge und Gespräche aller deiner Kontakte in deinem Netzwerk. +Du kannst aber auch eine einzelne Gruppe auswählen und nur Beiträge dieser Gruppenmitglieder anzeigen lassen. Aber stopp, es gibt noch mehr... -Wenn du auf deiner "Netzwerk"-Seite eine bestimmte Gruppe ausgewählt hast, dann findest du im Statuseditor neben dem Schloss ein Ausrufezeichen. Dies dient dazu, deine Aufmerksamkeit auf das Schloss zu richten. Klicke auf das Schloss. Dort siehst du, dass dein Status-Update in dieser Ansicht standardmäßig nur für diese Gruppe freigegeben ist. Das hilft dir, deinen zukünftigen Mitarbeitern nicht das Gleiche zu schreiben wie deinen Trinkfreunden. Du kannst diese Einstellung natürlich auch überschreiben. +Wenn du auf deiner "Netzwerk"-Seite eine bestimmte Gruppe ausgewählt hast, dann findest du im Statuseditor neben dem Schloss ein Ausrufezeichen. +Dies dient dazu, deine Aufmerksamkeit auf das Schloss zu richten. +Klicke auf das Schloss. +Dort siehst du, dass dein Status-Update in dieser Ansicht standardmäßig nur für diese Gruppe freigegeben ist. +Das hilft dir, deinen zukünftigen Mitarbeitern nicht das Gleiche zu schreiben wie deinen Trinkfreunden. +Du kannst diese Einstellung natürlich auch überschreiben. **Standardmäßige Zugriffsrechte von Beiträgen** -Standardmäßig geht Friendica davon aus, dass alle deine Beiträge privat sein sollen. Aus diesem Grund erstellt Friendica nach der Anmeldung eine Gruppe, in die automatisch alle deine Kontakte hinzugefügt werden. Alle deine Beiträge sind nur auf diese Gruppe beschränkt. +Standardmäßig geht Friendica davon aus, dass alle deine Beiträge privat sein sollen. +Aus diesem Grund erstellt Friendica nach der Anmeldung eine Gruppe, in die automatisch alle deine Kontakte hinzugefügt werden. +Alle deine Beiträge sind nur auf diese Gruppe beschränkt. Beachte, dass diese Einstellung von deinem Seiten-Administrator überschrieben werden kann, was bedeutet, dass alle deine Beiträge standardmäßig "öffentlich" sind (bspw. für das gesamte Internet). -Wenn du deine Beiträge standardmäßig "öffentlich" haben willst, dann kannst du deine Standardzugriffsrechte auf deiner Einstellungseite ändern. Dort kannst du außerdem festlegen, welchen Gruppen standardmäßig deine Beiträge erhalten oder in welche Gruppe deine neuen Kontakte standardmäßig eingeordnet werden. +Wenn du deine Beiträge standardmäßig "öffentlich" haben willst, dann kannst du deine Standardzugriffsrechte auf deiner Einstellungseite ändern. +Dort kannst du außerdem festlegen, welchen Gruppen standardmäßig deine Beiträge erhalten oder in welche Gruppe deine neuen Kontakte standardmäßig eingeordnet werden. **Fragen der Privatssphäre, die zu beachten sind** -Diese privaten Gespräche funktionieren am besten, wenn deine Freunde Friendica-Mitglieder sind. So wissen wir, wer sonst noch deine Gespräche sehen kann - niemand, *solange* deine Freunde deine Nachrichten nicht kopieren und an andere verschicken. +Diese privaten Gespräche funktionieren am besten, wenn deine Freunde Friendica-Mitglieder sind. +So wissen wir, wer sonst noch deine Gespräche sehen kann - niemand, *solange* deine Freunde deine Nachrichten nicht kopieren und an andere verschicken. -Dies ist eine Vertrauensfrage, die du beachten musst. Keine Software der Welt kann deine Freunde davon abhalten, die privaten Unterhaltungen zu veröffentlichen. Nur eine gute Auswahl deiner Freunde. +Dies ist eine Vertrauensfrage, die du beachten musst. +Keine Software der Welt kann deine Freunde davon abhalten, die privaten Unterhaltungen zu veröffentlichen. +Nur eine gute Auswahl deiner Freunde. -Bei status.net, identi.ca und anderen Netzwerk-Anbietern ist es nicht so gesichert. Du musst **sehr** vorsichtig sein, wenn du Mitglieder anderer Netzwerke in einer deiner Gruppen hast, da es möglich ist, dass deine privaten Nachrichten in einem öffentlichen Stream enden. Wenn du auf die "Kontakt bearbeiten"-Seite einer Person gehst, zeigen wir dir, ob sie Mitglied eines unsicheren Netzwerks ist oder nicht. +Bei status.net, identi.ca und anderen Netzwerk-Anbietern ist es nicht so gesichert. +Du musst **sehr** vorsichtig sein, wenn du Mitglieder anderer Netzwerke in einer deiner Gruppen hast, da es möglich ist, dass deine privaten Nachrichten in einem öffentlichen Stream enden. +Wenn du auf die "Kontakt bearbeiten"-Seite einer Person gehst, zeigen wir dir, ob sie Mitglied eines unsicheren Netzwerks ist oder nicht. -Sobald du einen Post erstellt hast, kannst du die Zugriffsrechte nicht mehr ändern. Innerhalb von Sekunden ist dieser an viele verschiedene Personen verschickt worden - möglicherweise bereits an alle Addressierten. Wenn du versehentlich eine Nachricht erstellt hast und sie zurücknehmen willst, dann ist es das beste, diese zu löschen. Wir senden eine Löschmitteilung an jeden, der deine Nachricht erhalten hat - und das sollte die Nachricht genauso schnell löschen, wie sie zunächst erstellt wurde. In vielen Fällen wird sie in weniger als einer Minute aus dem Internet gelöscht. Nochmals: das gilt für Friendica-Netzwerke. Sobald eine Nachricht an ein anderes Netzwerk geschickt wurde, kann es nicht mehr so schnell gelöscht werden und in manchen Fällen auch gar nicht mehr. +Sobald du einen Post erstellt hast, kannst du die Zugriffsrechte nicht mehr ändern. +Innerhalb von Sekunden ist dieser an viele verschiedene Personen verschickt worden - möglicherweise bereits an alle Addressierten. +Wenn du versehentlich eine Nachricht erstellt hast und sie zurücknehmen willst, dann ist es das beste, diese zu löschen. +Wir senden eine Löschmitteilung an jeden, der deine Nachricht erhalten hat - und das sollte die Nachricht genauso schnell löschen, wie sie zunächst erstellt wurde. +In vielen Fällen wird sie in weniger als einer Minute aus dem Internet gelöscht. +Nochmals: das gilt für Friendica-Netzwerke. +Sobald eine Nachricht an ein anderes Netzwerk geschickt wurde, kann es nicht mehr so schnell gelöscht werden und in manchen Fällen auch gar nicht mehr. -Wenn du das bisher noch nicht wusstest, dann empfehlen wir dir, deine Freunde dazu zu ermutigen, auch Friendica zu nutzen, da alle diese Privatsphären-Einstellungen innerhalb eines privatsphärenbewussten Netzwerk viel besser funktionieren. Viele andere Netzwerke, mit denen sich Friendica verbinden kann, bieten keine Kontrolle über die Privatsphäre. +Wenn du das bisher noch nicht wusstest, dann empfehlen wir dir, deine Freunde dazu zu ermutigen, auch Friendica zu nutzen, da alle diese Privatsphären-Einstellungen innerhalb eines privatsphärenbewussten Netzwerk viel besser funktionieren. +Viele andere Netzwerke, mit denen sich Friendica verbinden kann, bieten keine Kontrolle über die Privatsphäre. Profile, Fotos und die Privatsphäre ============================= -Die dezentralisierte Natur von Friendica (statt eine Webseite zu haben, die alles kontrolliert, gibt es viele Webseiten, die Information austauschen) hat in der Kommunikation mit anderen Seiten einige Konsequenzen. Du solltest dir über einige Dinge bewusst sein, um am besten entscheiden zu können, wie du mit deiner Privatsphäre umgehst. +Die dezentralisierte Natur von Friendica (statt eine Webseite zu haben, die alles kontrolliert, gibt es viele Webseiten, die Information austauschen) hat in der Kommunikation mit anderen Seiten einige Konsequenzen. +Du solltest dir über einige Dinge bewusst sein, um am besten entscheiden zu können, wie du mit deiner Privatsphäre umgehst. **Fotos** -Fotos privat zu verteilen ist ein Problem. Wir können Fotos nur mit Friendica-Nutzern __privat__ austauschen. Um mit anderen Leuten Fotos zu teilen, müssen wir erkennen, wer sie sind. Wir können die Identität von Friendica-Nutzern prüfen, da es hierfür einen Mechanismus gibt. Deine Freunde anderer Netzwerke werden deine privaten Fotos nicht sehen können, da wir deren Identität nicht überprüfen können. +Fotos privat zu verteilen ist ein Problem. +Wir können Fotos nur mit Friendica-Nutzern __privat__ austauschen. +Um mit anderen Leuten Fotos zu teilen, müssen wir erkennen, wer sie sind. +Wir können die Identität von Friendica-Nutzern prüfen, da es hierfür einen Mechanismus gibt. +Deine Freunde anderer Netzwerke werden deine privaten Fotos nicht sehen können, da wir deren Identität nicht überprüfen können. -Unsere Entwickler arbeiten an einer Lösung, um deinen Freunden den Zugriff zu ermöglichen - unabhängig, zu welchem Netzwerk sie gehören. Wir nehmen hingegen Privatsphäre ernst und agieren nicht wie andere Netzwerke, die __nur so tun__ als ob deine Fotos privat sind, sie aber trotzdem anderen ohne Identitätsprüfung zeigen. +Unsere Entwickler arbeiten an einer Lösung, um deinen Freunden den Zugriff zu ermöglichen - unabhängig, zu welchem Netzwerk sie gehören. +Wir nehmen hingegen Privatsphäre ernst und agieren nicht wie andere Netzwerke, die __nur so tun__ als ob deine Fotos privat sind, sie aber trotzdem anderen ohne Identitätsprüfung zeigen. **Profile** -Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können. Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren. +Dein Profil und deine "Wall" sollen vielleicht auch von Freunden anderer Netzwerke besucht werden können. +Wenn du diese Seiten allerdings für Webbesucher sperrst, die Friendica nicht kennt, kann das auch Freunde anderer Netzwerke blockieren. -Das kann möglicherweise ungewollte Ergebnisse produzieren, wenn du lange Statusbeiträge z.B. für Twitter oder Facebook schreibst. Wenn Friendica einen Beitrag an diese Netzwerke schickt und nur eine bestimmte Nachrichtenlänge erlaubt ist, dann verkürzen wir diesen und erstellen einen Link, der zum Originalbeitrag führt. Der Originallink führt zurück zu deinem Friendica-Profil. Da Friendica nicht bestätigen kann, um wen es sich handelt, kann es passieren, dass diese Leute den Beitrag nicht komplett lesen können. +Das kann möglicherweise ungewollte Ergebnisse produzieren, wenn du lange Statusbeiträge z.B. für Twitter oder Facebook schreibst. +Wenn Friendica einen Beitrag an diese Netzwerke schickt und nur eine bestimmte Nachrichtenlänge erlaubt ist, dann verkürzen wir diesen und erstellen einen Link, der zum Originalbeitrag führt. +Der Originallink führt zurück zu deinem Friendica-Profil. +Da Friendica nicht bestätigen kann, um wen es sich handelt, kann es passieren, dass diese Leute den Beitrag nicht komplett lesen können. Für Leute, die davon betroffen sind, schlagen wir vor, eine Zusammenfassung in Twitter-Länge zu erstellen mit mehr Details für Freunde, die den ganzen Beitrag sehen können. -Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit StatusNet/identi.ca-Nutzern. Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden. Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen. Wenn wir das erlauben, würde es dazu führen, das absolut jeder deine Beiträge sehen. Und du hast Friendica so eingestellt, das nicht zuzulassen. Beachte also, dass das Blockieren von unbekannten Besuchern auch dazu führen kann, dass öffentliche Netzwerke (wie identi.ca) und Newsfeed-Reader wie Google Reader auch geblockt werden. +Dein Profil oder deine gesamte Friendica-Seite zu blockieren, hat außerdem ernsthafte Einflüsse auf deine Kommunikation mit StatusNet/identi.ca-Nutzern. +Diese Netzwerke kommunizieren mit anderen über öffentliche Protokolle, die nicht authentifiziert werden. +Um deine Beiträge zu sehen, müssen diese Netzwerke deine Beiträge als "unbekannte Webbesucher" ansehen. +Wenn wir das erlauben, würde es dazu führen, das absolut jeder deine Beiträge sehen. +Und du hast Friendica so eingestellt, das nicht zuzulassen. +Beachte also, dass das Blockieren von unbekannten Besuchern auch dazu führen kann, dass öffentliche Netzwerke (wie identi.ca) und Newsfeed-Reader wie Google Reader auch geblockt werden. diff --git a/doc/de/Improve-Performance.md b/doc/de/Improve-Performance.md index 346c76fc3..cc19dbf13 100644 --- a/doc/de/Improve-Performance.md +++ b/doc/de/Improve-Performance.md @@ -16,17 +16,21 @@ Geh auf /admin/site in deinem System und ändere die folgenden Werte: setze "Qualität des JPEG Bildes" auf 50. -Dieser Wert reduziert die Daten, die vom Server an den Client geschickt werden. 50 ist ein Wert, der die Bildqualität nicht zu stark beeinflusst. +Dieser Wert reduziert die Daten, die vom Server an den Client geschickt werden. +50 ist ein Wert, der die Bildqualität nicht zu stark beeinflusst. setze "Intervall zum Vervollständigen von OStatus Unterhaltungen" auf "niemals" -Wenn du viele OStatus-Kontakte hast, dann kann die Vervollständigung von Unterhaltungen sehr zeitraubend sein. Der Nachteil: Du siehst nicht jede Antwort einer OStatus-Unterhaltung. +Wenn du viele OStatus-Kontakte hast, dann kann die Vervollständigung von Unterhaltungen sehr zeitraubend sein. +Der Nachteil: Du siehst nicht jede Antwort einer OStatus-Unterhaltung. setze "Pfad für die Sperrdatei" auf einen Ordner außerhalb deines Stammverzeichnisses deines Servers. Sperrdateien sorgen dafür, dass Hintergrundprozesse nicht parallel ablaufen. -Als Beispiel: Es kann passieren, dass die poller.php länger als erwartet läuft. Ohne Sperrdatei kann es passieren, dass mehrere Instanzen der poller.php zur gleichen Zeit laufen. Dies würde das System verlangsamen und Einfluss auf die maximale Anzahl an Prozessen und Datenbankverbindungen nehmen. +Als Beispiel: Es kann passieren, dass die poller.php länger als erwartet läuft. +Ohne Sperrdatei kann es passieren, dass mehrere Instanzen der poller.php zur gleichen Zeit laufen. +Dies würde das System verlangsamen und Einfluss auf die maximale Anzahl an Prozessen und Datenbankverbindungen nehmen. Bitte definiere einen kompletten Pfad, auf den der Server einen Schreibzugriff hat. Wenn deine Seite unter "/var/www/namederseite/htdocs/" liegt, dann kannst du z.B. einen Ordner unter "/var/www/sitename/temp/" erstellen. @@ -36,13 +40,15 @@ Wenn du MyISAM (Standardeinstellung) nutzt, dann beschleunigt dies die Suche. setze "Pfad zum Eintrag Cache" auf einen leeren Ordner außerhalb deines Stammverzeichnisses. -Verarbeiteter BBCode und einige externe Bilder werden hier gespeichert. BBCode verarbeiten ist ein zeitintensiver Prozess, der zudem eine hohe CPU-Leistung erfordert. +Verarbeiteter BBCode und einige externe Bilder werden hier gespeichert. +BBCode verarbeiten ist ein zeitintensiver Prozess, der zudem eine hohe CPU-Leistung erfordert. Du kannst den gleichen Ordner nutzen, den du für die Sperrdatei genutzt hast. **Warnung!** -Der Ordner für den Eintrag-Cache wird regelmäßig geleert. Jede Datei, die die Cache-Dauer überschreitet, wird gelöscht. **Wenn du versehentlich den Cache-Pfad auf dein Stammverzeichnis legst, dann würde dir dies das gesamte Stammverzeichnis löschen.** +Der Ordner für den Eintrag-Cache wird regelmäßig geleert. +Jede Datei, die die Cache-Dauer überschreitet, wird gelöscht. **Wenn du versehentlich den Cache-Pfad auf dein Stammverzeichnis legst, dann würde dir dies das gesamte Stammverzeichnis löschen.** Prüfe also doppelt, dass der gewählte Ordner nur temporäre Dateien enthält, die jederzeit gelöscht werden können. @@ -59,7 +65,8 @@ Aktiviere die folgenden Plugins: **Beschreibung** -Dieses Plugin reduziert die Ladezeit der Datenbank massiv. Nachteil: Du kannst nicht mehr die Anzahl aller Seiten sehen. +Dieses Plugin reduziert die Ladezeit der Datenbank massiv. +Nachteil: Du kannst nicht mehr die Anzahl aller Seiten sehen. **Einrichtung** @@ -119,14 +126,17 @@ Weitere Informationen findest du hier: http://httpd.apache.org/docs/2.2/mod/mod_ **FCGI** -Wenn du Apache nutzt, dann denk darüber nach, FCGI zu nutzen. Wenn du eine Debian-basierte Distribution nutzt, dann wirst du die Pakete "php5-cgi" und "libapache2-mod-fcgid" benötigen. +Wenn du Apache nutzt, dann denk darüber nach, FCGI zu nutzen. +Wenn du eine Debian-basierte Distribution nutzt, dann wirst du die Pakete "php5-cgi" und "libapache2-mod-fcgid" benötigen. Nutze externe Dokumente, um eine detailiertere Erklärung für die Einrichtung eines Systems auf FCGI-Basis zu erhalten. **APC** -APC ist ein Zwischenspeicher für die Verarbeitung des Befehlscodes. Es beschleunigt die Verarbeitung des PHP-Codes. +APC ist ein Zwischenspeicher für die Verarbeitung des Befehlscodes. +Es beschleunigt die Verarbeitung des PHP-Codes. -Wenn APC aktiviert ist, dann nutzt Friendica dies, um Konfigurationseinstellungen für verschiedene Anfragen zwischenzuspeichern. Dies beschleunigt die Reaktionszeit der Seite. +Wenn APC aktiviert ist, dann nutzt Friendica dies, um Konfigurationseinstellungen für verschiedene Anfragen zwischenzuspeichern. +Dies beschleunigt die Reaktionszeit der Seite. ###Database diff --git a/doc/de/Install.md b/doc/de/Install.md index 8edebc5c4..36692bd2c 100644 --- a/doc/de/Install.md +++ b/doc/de/Install.md @@ -3,11 +3,21 @@ Friendica Installation * [Zur Startseite der Hilfe](help) -Wir haben hart daran gearbeitet, um Friendica auf vorgefertigten Hosting-Plattformen zum Laufen zu bringen - solche, auf denen auch Wordpress Blogs und Drupal-Installationen laufen. Aber bedenke, dass Friendica mehr als eine einfache Webanwendung ist. Es handelt sich um ein komplexes Kommunikationssystem, das eher an einen Email-Server erinnert als an einen Webserver. Um die Verfügbarkeit und Performance zu gewährleisten, werden Nachrichten im Hintergrund verschickt und gespeichert, um sie später zu verschicken, wenn eine Webseite gerade nicht erreichbar ist. Diese Funktionalität benötigt ein wenig mehr als die normalen Blogs. Nicht jeder PHP/MySQL-Hosting-Anbieter kann Friendica unterstützen. Viele hingegen können es. Aber **bitte** prüfe die Voraussetzungen deines Servers vor der Installation. +Wir haben hart daran gearbeitet, um Friendica auf vorgefertigten Hosting-Plattformen zum Laufen zu bringen - solche, auf denen auch Wordpress Blogs und Drupal-Installationen laufen. +Aber bedenke, dass Friendica mehr als eine einfache Webanwendung ist. +Es handelt sich um ein komplexes Kommunikationssystem, das eher an einen Email-Server erinnert als an einen Webserver. +Um die Verfügbarkeit und Performance zu gewährleisten, werden Nachrichten im Hintergrund verschickt und gespeichert, um sie später zu verschicken, wenn eine Webseite gerade nicht erreichbar ist. +Diese Funktionalität benötigt ein wenig mehr als die normalen Blogs. +Nicht jeder PHP/MySQL-Hosting-Anbieter kann Friendica unterstützen. +Viele hingegen können es. Aber **bitte** prüfe die Voraussetzungen deines Servers vor der Installation. -Wenn dir Fehler während der Installation auffallen, sag uns bitte über das Forum auf http://groups.google.com/group/friendica oder über http://bugs.friendica.com Bescheid. Gib uns bitte so viele Infos zu deinem System, wie du kannst, und beschreibe den Fehler mit allen Details und Fehlermeldungen, so dass wir den Fehler zukünftig verhindern können. Aufgrund der großen Anzahl an verschiedenen Betriebssystemen und PHP-Plattformen haben wir nur geringe Kapazitäten, um deine PHP-Installation zu debuggen oder fehlende Module zu ersetzen, aber wir tun unser Bestes, um allgemeine Code-Fehler zu beheben. +Wenn dir Fehler während der Installation auffallen, sag uns bitte über http://bugs.friendica.com Bescheid. +Gib uns bitte so viele Infos zu deinem System, wie du kannst, und beschreibe den Fehler mit allen Details und Fehlermeldungen, so dass wir den Fehler zukünftig verhindern können. +Aufgrund der großen Anzahl an verschiedenen Betriebssystemen und PHP-Plattformen haben wir nur geringe Kapazitäten, um deine PHP-Installation zu debuggen oder fehlende Module zu ersetzen, aber wir tun unser Bestes, um allgemeine Code-Fehler zu beheben. -Bevor du anfängst: suche dir einen Domain- oder Subdomainnamen für deinen Server. Denke ausreichend darüber nach, da ein Wechsel nach der Friendica-Installation derzeit nicht unterstützt wird. Dinge verändern sich und einige deiner Freunde haben möglicherweise Probleme, mit dir zu kommunizieren. Wir planen, diese Einschränkung in einer zukünftigen Version zu beheben. +Bevor du anfängst: suche dir einen Domain- oder Subdomainnamen für deinen Server. +Dinge verändern sich und einige deiner Freunde haben möglicherweise Probleme, mit dir zu kommunizieren. +Wir planen, diese Einschränkung in einer zukünftigen Version zu beheben. 1. Voraussetzungen @@ -81,13 +91,18 @@ Wenn du einen Linux-Server nutzt, benutze den Befehl "crontab -e" und ergänze e `*/10 * * * * cd /home/myname/mywebsite; /usr/bin/php include/poller.php` -Du kannst den PHP-Pfad finden, indem du den Befehl „which php“ ausführst. Wenn du Schwierigkeiten mit diesem Schritt hast, kannst du deinen Hosting-Anbieter kontaktieren. Friendica wird nicht korrekt laufen, wenn dieser Schritt nicht erfolgreich abgeschlossen werden kann. +Du kannst den PHP-Pfad finden, indem du den Befehl „which php“ ausführst. +Wenn du Schwierigkeiten mit diesem Schritt hast, kannst du deinen Hosting-Anbieter kontaktieren. +Friendica wird nicht korrekt laufen, wenn dieser Schritt nicht erfolgreich abgeschlossen werden kann. -Alternativ kannst du das Plugin 'poormancron' nutzen, um diesen Schritt durchzuführen, wenn du eine aktuelle Friendica-Version nutzt. Um dies zu machen, musst du die ".htconfig.php" an der Stelle anpassen, die dein Plugin beschreibt. In einer frischen Installation sieht es aus wie: +Alternativ kannst du das Plugin 'poormancron' nutzen, um diesen Schritt durchzuführen, wenn du eine aktuelle Friendica-Version nutzt. +Um dies zu machen, musst du die ".htconfig.php" an der Stelle anpassen, die dein Plugin beschreibt. +In einer frischen Installation sieht es aus wie: `$a->config['system']['addon'] = 'js_upload';` -Dies setzt voraus, dass das Addon-Modul "js_upload" aktiviert ist. Du kannst auch weitere Addons/Plugins ergänzen. Ändere den Eintrag folgendermaßen ab: +Dies setzt voraus, dass das Addon-Modul "js_upload" aktiviert ist. +Du kannst auch weitere Addons/Plugins ergänzen. Ändere den Eintrag folgendermaßen ab: `$a->config['system']['addon'] = 'js_upload,poormancron';` diff --git a/doc/de/Installing-Connectors.md b/doc/de/Installing-Connectors.md index 80739ace7..f457ee51c 100644 --- a/doc/de/Installing-Connectors.md +++ b/doc/de/Installing-Connectors.md @@ -5,16 +5,22 @@ Konnektoren installieren (Facebook/Twitter/StatusNet) Friendica nutzt Plugins, um die Verbindung zu anderen Netzwerken wie Facebook und Twitter zu gewährleisten. -Es gibt außerdem ein Plugin, um über einen bestehenden Status.Net-Account diesen Service zu nutzen. Du brauchst dieses Plugin aber nicht, um mit Status.Net-Mitgliedern von Friendica aus zu kommunizieren - es sei denn, du wünschst es, über einen existierenden Account einen Beitrag zu schreiben. +Es gibt außerdem ein Plugin, um über einen bestehenden Status.Net-Account diesen Service zu nutzen. +Du brauchst dieses Plugin aber nicht, um mit Status.Net-Mitgliedern von Friendica aus zu kommunizieren - es sei denn, du wünschst es, über einen existierenden Account einen Beitrag zu schreiben. -Alle drei Plugins benötigen einen Account im gewünschten Netzwerk. Zusätzlich musst du (bzw. der Administrator der Seite) einen API-Schlüssel holen, um einen authentifizierten Zugriff zu deinem Friendica-Server herstellen zu lassen. +Alle drei Plugins benötigen einen Account im gewünschten Netzwerk. +Zusätzlich musst du (bzw. der Administrator der Seite) einen API-Schlüssel holen, um einen authentifizierten Zugriff zu deinem Friendica-Server herstellen zu lassen. **Seitenkonfiguration** -Plugins müssen vom Administrator installiert werden, bevor sie genutzt werden können. Dieses kann über das Administrationsmenü erstellt werden. +Plugins müssen vom Administrator installiert werden, bevor sie genutzt werden können. +Dieses kann über das Administrationsmenü erstellt werden. -Jeder der Konnektoren benötigt zudem einen API-Schlüssel vom Service, der verbunden werden soll. Einige Plugins erlaube es, diese Informationen auf den Administrationsseiten einzustellen, wohingegen andere eine direkte Bearbeitung der Konfigurationsdatei ".htconfig.php" erfordern. Der Weg, um diese Schlüssel zu erhalten, variiert stark, jedoch brauchen fast alle einen bestehenden Account im gewünschten Service. Einmal installiert, können diese Schlüssel von allen Seitennutzern genutzt werden. +Jeder der Konnektoren benötigt zudem einen API-Schlüssel vom Service, der verbunden werden soll. +Einige Plugins erlaube es, diese Informationen auf den Administrationsseiten einzustellen, wohingegen andere eine direkte Bearbeitung der Konfigurationsdatei ".htconfig.php" erfordern. +Der Weg, um diese Schlüssel zu erhalten, variiert stark, jedoch brauchen fast alle einen bestehenden Account im gewünschten Service. +Einmal installiert, können diese Schlüssel von allen Seitennutzern genutzt werden. Im Folgenden findest du die Einstellungen für die verschiedenen Services (viele dieser Informationen kommen direkt aus den Quelldateien der Plugins): @@ -40,8 +46,6 @@ $a->config['twitter']['consumersecret'] = 'your consumer_secret here'; Anschließend kann der Nutzer deiner Seite die Twitter-Einstellungen selbst eintragen: "Einstellungen -> Connector Einstellungen". -Dokumentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/Twitter_Plugin - **StatusNet Plugin für Friendica** @@ -72,12 +76,13 @@ Während der Registrierung des OAuth-Clients ist Folgendes zu beachten: * stelle Lese- und Schreibrechte ein * die Quell-URL sollte die URL deines Friendica-Servers sein -Sobald die benötigten Daten gespeichert sind, musst du deinen Friendica-Account mit StatusNet verbinden. Das kannst du über Einstellungen --> Connector-Einstellungen durchführen. Folge dem "Einloggen mit StatusNet"-Button, erlaube den Zugriff und kopiere den Sicherheitscode in die entsprechende Box. Friendica wird dann versuchen, die abschließende OAuth-Einstellungen über die API zu beziehen. +Sobald die benötigten Daten gespeichert sind, musst du deinen Friendica-Account mit StatusNet verbinden. +Das kannst du über Einstellungen --> Connector-Einstellungen durchführen. +Folge dem "Einloggen mit StatusNet"-Button, erlaube den Zugriff und kopiere den Sicherheitscode in die entsprechende Box. +Friendica wird dann versuchen, die abschließende OAuth-Einstellungen über die API zu beziehen. Wenn es geklappt hat, kannst du in den Einstellungen festlegen, ob deine öffentlichen Nachrichten automatisch in deinem StatusNet-Account erscheinen soll (achte hierbei auf das kleine Schloss-Symbol im Status-Editor) -Dokumentation: http://diekershoff.homeunix.net/redmine/wiki/friendikaplugin/StatusNet_Plugin - **Installiere den Friendica/Facebook-Konnektor** @@ -101,10 +106,14 @@ Auf Friendica kann nun jeder Nutzer, der eine Verbindung zu Facebook wünscht, d Wähle die gewünschten Einstellungen für deine Nutzungs- und Privatsphäreansprüche. -Hier meldest du dich bei Facebook an und gibst dem Plugin die nötigen Zugriffsrechte, um richtig zu funktionieren. Erlaube dieses. +Hier meldest du dich bei Facebook an und gibst dem Plugin die nötigen Zugriffsrechte, um richtig zu funktionieren. +Erlaube dieses. Und fertig. Um es abzustellen, gehe wieder auf die Einstellungsseite und auf "Remove Facebook posting". -Videos und eingebetteter Code werden nicht gepostet, wenn sonst kein anderer Inhalt enthalten ist. Links und Bilder werden in ein Format übertragen, das von der Facebook-API verstanden wird. Lange Texte werden verkürzt und mit einem Link zum Originalbeitrag versehen. +Videos und eingebetteter Code werden nicht gepostet, wenn sonst kein anderer Inhalt enthalten ist. +Links und Bilder werden in ein Format übertragen, das von der Facebook-API verstanden wird. +Lange Texte werden verkürzt und mit einem Link zum Originalbeitrag versehen. -Facebook-Kontakte können außerdem keine privaten Fotos sehen, da diese nicht richtig authentifiziert werden können, wenn sie deine Seite besuchen. Dieser Fehler wird zukünftig bearbeitet. +Facebook-Kontakte können außerdem keine privaten Fotos sehen, da diese nicht richtig authentifiziert werden können, wenn sie deine Seite besuchen. +Dieser Fehler wird zukünftig bearbeitet. diff --git a/doc/de/Making-Friends.md b/doc/de/Making-Friends.md index 74f1f62b3..0d7739068 100644 --- a/doc/de/Making-Friends.md +++ b/doc/de/Making-Friends.md @@ -3,43 +3,78 @@ Freunde finden * [Zur Startseite der Hilfe](help) -Freundschaft kann in Friendica viele verschiedene Bedeutungen annehmen. Aber lasst es uns einfach halten, du willst einfach mit jemandem befreundet sein. Wie machst du das? +Freundschaft kann in Friendica viele verschiedene Bedeutungen annehmen. +Aber lasst es uns einfach halten, du willst einfach mit jemandem befreundet sein. +Wie machst du das? -Schau dir das Verzeichnis an. Das Verzeichnis ist in zwei Teile aufgeteilt. Wenn du auf den "Verzeichnis"-Button klickst, wirst du zunächst alle Mitglieder deines Servers sehen, die sich dazu entschlossen haben, angezeigt zu werden. Außerdem siehst du dort einen Link zum globalen Verzeichnis. Wenn du dich durch das globale Verzeichnis klickst, siehst du alle Nutzer weltweit auf allen Servern, die sich entschlossen haben, im Verzeichnis zu erscheinen. Du wirst außerdem den Link "Show Community Forums" sehen, welcher dich zu Gruppen, Foren und Fan-Seiten führt. Du verbindest dich mit Personen, Gruppen und Foren auf die gleiche Art, wobei Gruppen und Foren deine Anfrage automatisch annehmen, wohingegen ein Mensch dich erst manuell bestätigen muss. +Schau dir das Verzeichnis an. +Das Verzeichnis ist in zwei Teile aufgeteilt. +Wenn du auf den "Verzeichnis"-Button klickst, wirst du zunächst alle Mitglieder deines Servers sehen, die sich dazu entschlossen haben, angezeigt zu werden. +Außerdem siehst du dort einen Link zum globalen Verzeichnis. +Wenn du dich durch das globale Verzeichnis klickst, siehst du alle Nutzer weltweit auf allen Servern, die sich entschlossen haben, im Verzeichnis zu erscheinen. +Du wirst außerdem den Link "Show Community Forums" sehen, welcher dich zu Gruppen, Foren und Fan-Seiten führt. +Du verbindest dich mit Personen, Gruppen und Foren auf die gleiche Art, wobei Gruppen und Foren deine Anfrage automatisch annehmen, wohingegen ein Mensch dich erst manuell bestätigen muss. *Mit anderen Friendica-Nutzern verbinden* -Bes‪uche ihr Profil. Direkt unter dem Profilfoto ist das Wort "Verbinden" (bzw. "Connect" in einem englischsprachigem Profil). Klicke drauf und du gelangst zur "Verbinden"-Seite. Dort wirst du nach deiner Identitätsadresse gefragt. Das ist nötig, damit die Seite dein Profil finden kann. +Bes‪uche ihr Profil. +Direkt unter dem Profilfoto ist das Wort "Verbinden" (bzw. "Connect" in einem englischsprachigem Profil). +Klicke drauf und du gelangst zur "Verbinden"-Seite. +Dort wirst du nach deiner Identitätsadresse gefragt. +Das ist nötig, damit die Seite dein Profil finden kann. *Was kommt in die Box?* -Wenn deine Friendica-Seite "demo.friendica.com" heißt und dein Nutzername/Spitzname auf der Seite "bob" ist, dann wäre es "bob@demo.friendica.com". Wie du siehst, sieht es wie eine Email-Adresse aus. Das ist beabsichtigt, da sich die Leute das so leichter merken können. Du *kannst* auch die URL deiner Startseite eintragen, wie z.B. "http://demo.friendica.com/profile/bob", aber der Email-Adressen-Stil ist einfacher. +Wenn deine Friendica-Seite "demo.friendica.com" heißt und dein Nutzername/Spitzname auf der Seite "bob" ist, dann wäre es "bob@demo.friendica.com". +Wie du siehst, sieht es wie eine Email-Adresse aus. +Das ist beabsichtigt, da sich die Leute das so leichter merken können. +Du *kannst* auch die URL deiner Startseite eintragen, wie z.B. "http://demo.friendica.com/profile/bob", aber der Email-Adressen-Stil ist einfacher. -Wenn du die "Verbinden"-Seite bestätigt hast, kommst du zurück zu deiner Seite, um dort die Anfrage zu bestätigen. Wenn du das gemacht hast, können beide Seiten miteinander kommunizieren, um den Prozess abzuschließen (sobald dein neuer Freund die Anfrage bestätigt hat). +Wenn du die "Verbinden"-Seite bestätigt hast, kommst du zurück zu deiner Seite, um dort die Anfrage zu bestätigen. +Wenn du das gemacht hast, können beide Seiten miteinander kommunizieren, um den Prozess abzuschließen (sobald dein neuer Freund die Anfrage bestätigt hat). -Wenn du bereits die Identitäts-Adresse einer Person kennst, kannst du diese auch direkt in das "Verbinden"-Feld auf deiner "Kontakte"-Seite eintragen. Dies wird dich durch einen ähnlichen Prozess leiten. +Wenn du bereits die Identitäts-Adresse einer Person kennst, kannst du diese auch direkt in das "Verbinden"-Feld auf deiner "Kontakte"-Seite eintragen. +Dies wird dich durch einen ähnlichen Prozess leiten. **Alternative Netzwerke** -Du kannst deine oder andere Identitäts-Adressen ebenfalls nutzen, um über verschiedene Netzwerke hinweg Freundschaften aufzubauen. Die Liste möglicher Netzwerke steigt immer weiter. Wenn du z.B. "bob" auf identi.ca (eine Status.Net-Seite) kennst, dann kannst du bob@identi.ca auf deiner "Kontakt"-Seite verbinden. (Oder du kannst die URL von Bobs identi.ca-Seite eintragen, wenn du es wünscht). Du kannst auch "teilweise" mit Leuten auf Google Buzz befreundet sein, wenn du deren GMail-Adresse einträgst. Google Buzz unterstützt bisher noch nicht alle Protokolle, die wir für die direkte Kommunikation benötigen, aber es sollte möglich sein, Statusupdates von Friendica zu folgen. Das Gleiche gilt für Twitter- und Diaspora-Accounts. Tatsächlich kannst du jedem und jeder Website folgen, der/die einen Syndication-Feed (RSS/Atom etc.) zur Verfügung stellt. Wenn wir einen Informationsstrom und einen Namen dazu finden, können wir auch versuchen, uns damit zu verbinden. +Du kannst deine oder andere Identitäts-Adressen ebenfalls nutzen, um über verschiedene Netzwerke hinweg Freundschaften aufzubauen. +Die Liste möglicher Netzwerke steigt immer weiter. +Wenn du z.B. "bob" auf identi.ca (eine Status.Net-Seite) kennst, dann kannst du bob@identi.ca auf deiner "Kontakt"-Seite verbinden. (Oder du kannst die URL von Bobs identi.ca-Seite eintragen, wenn du es wünscht). +Du kannst auch "teilweise" mit Leuten auf Google Buzz befreundet sein, wenn du deren GMail-Adresse einträgst. +Google Buzz unterstützt bisher noch nicht alle Protokolle, die wir für die direkte Kommunikation benötigen, aber es sollte möglich sein, Statusupdates von Friendica zu folgen. +Das Gleiche gilt für Twitter- und Diaspora-Accounts. +Tatsächlich kannst du jedem und jeder Website folgen, der/die einen Syndication-Feed (RSS/Atom etc.) zur Verfügung stellt. +Wenn wir einen Informationsstrom und einen Namen dazu finden, können wir auch versuchen, uns damit zu verbinden. -Wenn du deine Email-Postfachverbindung auf deiner Einstellungsseite konfiguriert hast, dann kannst du die Email-Adresse jeder Person eintragen, die dir schon eine Nachricht an dein Postfach geschickt hat und bereits in deinem sozialen Stream erscheint. Du kannst diesen Personen außerdem von Friendica aus antworten. +Wenn du deine Email-Postfachverbindung auf deiner Einstellungsseite konfiguriert hast, dann kannst du die Email-Adresse jeder Person eintragen, die dir schon eine Nachricht an dein Postfach geschickt hat und bereits in deinem sozialen Stream erscheint. +Du kannst diesen Personen außerdem von Friendica aus antworten. -Leute können sich ebenfalls von anderen Netzwerken aus mit dir befreunden. Ein Freund von dir hat einen identi.ca-Account und kann sich mit dir befreunden, indem er deine Identitäts-Adresse in seine identi.ca-Verbinden-Dialogbox einträgt. Ein ähnlicher Mechanismus ist für Diaspora-Nutzer vorhanden, indem deine Identitäts-Adresse in ihre Suchleiste eingegeben wird. +Leute können sich ebenfalls von anderen Netzwerken aus mit dir befreunden. +Ein Freund von dir hat einen identi.ca-Account und kann sich mit dir befreunden, indem er deine Identitäts-Adresse in seine identi.ca-Verbinden-Dialogbox einträgt. +Ein ähnlicher Mechanismus ist für Diaspora-Nutzer vorhanden, indem deine Identitäts-Adresse in ihre Suchleiste eingegeben wird. Beachte: Manche StatusNet-Versionen benötigen die volle URL deines Profils und funktionieren möglicherweise nicht mit der Identitäts-Adresse. -Wenn jemand eine Freundschaftsanfrage schickt, erhältst du eine Benachrichtigung. Du musst dann diese Anfrage bestätigen, um die Freundschaftsanfrage abzuschließen. +Wenn jemand eine Freundschaftsanfrage schickt, erhältst du eine Benachrichtigung. +Du musst dann diese Anfrage bestätigen, um die Freundschaftsanfrage abzuschließen. -Einige Netzwerke erlauben es, Nachrichten zu schicken, ohne befreundet zu sein oder deine Bestätigung zu benötigen. Friendica erlaubt dies in der Standardeinstellung nicht, da es zu Spam führen kann. +Einige Netzwerke erlauben es, Nachrichten zu schicken, ohne befreundet zu sein oder deine Bestätigung zu benötigen. +Friendica erlaubt dies in der Standardeinstellung nicht, da es zu Spam führen kann. -Wenn du eine Freundschaftsanfrage von einem anderen Friendica-Nutzer erhältst, dann hast du die Möglichkeit, diesen als "Fan" oder "Freund" einzutragen. Ein Fan kann sehen, was du schreibst und auch private Kommunikation sehen, die du zu diesen sendest, aber nicht umgekehrt. Als Freund kannst du in beide Richtungen kommunizieren. +Wenn du eine Freundschaftsanfrage von einem anderen Friendica-Nutzer erhältst, dann hast du die Möglichkeit, diesen als "Fan" oder "Freund" einzutragen. +Ein Fan kann sehen, was du schreibst und auch private Kommunikation sehen, die du zu diesen sendest, aber nicht umgekehrt. +Als Freund kannst du in beide Richtungen kommunizieren. Diaspora nutzt eine andere Terminologie mit der Unterteilung in "mit dir teilen" und "Freund". -Sobald ihr Freunde geworden seid, dir die Person aber permanent Spam oder sinnlose Informationen schickt, dann kannst du diese "ignorieren" - ohne die Freundschaft komplett zu beenden oder denjenigen zu zeigen, dass du nicht daran interessiert bist, was diese Person sagt. In verschiedener Hinsicht sind diese Personen wie "Fans", aber sie wissen es nicht. Sie denken, sie sind als Freunde eingetragen. +Sobald ihr Freunde geworden seid, dir die Person aber permanent Spam oder sinnlose Informationen schickt, dann kannst du diese "ignorieren" - ohne die Freundschaft komplett zu beenden oder denjenigen zu zeigen, dass du nicht daran interessiert bist, was diese Person sagt. +In verschiedener Hinsicht sind diese Personen wie "Fans", aber sie wissen es nicht. +Sie denken, sie sind als Freunde eingetragen. -Du kannst auch eine Person "blocken". Das blockt die komplette Kommunikation mit dieser Person. Sie können zwar weiterhin öffentliche Beiträge sehen, wie auch jeder andere in der Welt, allerdings können sie nicht direkt mit dir kommunizieren. +Du kannst auch eine Person "blocken". +Das blockt die komplette Kommunikation mit dieser Person. +Sie können zwar weiterhin öffentliche Beiträge sehen, wie auch jeder andere in der Welt, allerdings können sie nicht direkt mit dir kommunizieren. Du kannst Freunde löschen, egal wie der Freundschaftsstatus ist, was dazu führt, dass alles, was mit dieser Person verbunden ist, von deiner Webseite gelöscht wird. diff --git a/doc/de/Message-Flow.md b/doc/de/Message-Flow.md index add6507ea..0694db134 100644 --- a/doc/de/Message-Flow.md +++ b/doc/de/Message-Flow.md @@ -3,13 +3,15 @@ Friendica Nachrichtenfluss * [Zur Startseite der Hilfe](help) -Diese Seite soll einige Infos darüber dokumentieren, wie Nachrichten innerhalb von Friendica von einer Person zur anderen übertragen werden. Es gibt verschiedene Pfade, die verschiedene Protokolle und Nachrichtenformate nutzen. +Diese Seite soll einige Infos darüber dokumentieren, wie Nachrichten innerhalb von Friendica von einer Person zur anderen übertragen werden. +Es gibt verschiedene Pfade, die verschiedene Protokolle und Nachrichtenformate nutzen. Diejenigen, die den Nachrichtenfluss genauer verstehen wollen, sollten sich mindestens mit dem DFRN-Protokoll (http://dfrn.org/dfrn.pdf) und den Elementen zur Nachrichtenverarbeitung des OStatus Stack informieren (salmon und Pubsubhubbub). Der Großteil der Nachrichtenverarbeitung nutzt die Datei include/items.php, welche Funktionen für verschiedene Feed-bezogene Import-/Exportaktivitäten liefert. -Wenn eine Nachricht veröffentlicht wird, werden alle Übermittlungen an alle Netzwerke mit include/notifier.php durchgeführt, welche entscheidet, wie und an wen die Nachricht geliefert wird. Diese Datei bindet dabei die lokale Bearbeitung aller Übertragungen ein inkl. dfrn-notify. +Wenn eine Nachricht veröffentlicht wird, werden alle Übermittlungen an alle Netzwerke mit include/notifier.php durchgeführt, welche entscheidet, wie und an wen die Nachricht geliefert wird. +Diese Datei bindet dabei die lokale Bearbeitung aller Übertragungen ein inkl. dfrn-notify. mod/dfrn_notify.php handhabt die Rückmeldung (remote side) von dfrn-notify. @@ -24,20 +26,38 @@ DFRN-poll Feed-Imports kommen via include/poller.php als geplanter Task an, das Szenario #1. Bob schreibt eine öffentliche Statusnachricht -Dies ist eine öffentliche Nachricht ohne begrenzte Nutzerfreigabe, so dass keine private Übertragung notwendig ist. Es gibt zwei Wege, die genutzt werden können - als bbcode an DFRN-Clients oder als durch den Server konvertierten HTML-Code (mit PuSH; pubsubhubbub). Wenn ein PuSH-Hub einsatzfähig ist, nutzen DFRN-Poll-Clients vorrangig die Informationen, die durch den PuSH-Kanal kommen. Sie fallen zurück auf eine tägliche Abfrage, wenn der Hub Übertragungsschwierigkeiten hat (das kann vorkommen, wenn der standardmäßige Google-Referenzhub genutzt wird). Wenn kein spezifizierter Hub oder Hubs ausgewählt sind, werden DFRN-Clients in einer pro Kontakt konfigurierbaren Rate mit bis zu 5-Minuten-Intervallen abfragen. Feeds, die via DFRN-Poll abgerufen werden, sind bbcode und können auch private Unterhaltungen enthalten, die vom Poller auf ihre Zugriffsrechte hin geprüft werden. +Dies ist eine öffentliche Nachricht ohne begrenzte Nutzerfreigabe, so dass keine private Übertragung notwendig ist. +Es gibt zwei Wege, die genutzt werden können - als bbcode an DFRN-Clients oder als durch den Server konvertierten HTML-Code (mit PuSH; pubsubhubbub). +Wenn ein PuSH-Hub einsatzfähig ist, nutzen DFRN-Poll-Clients vorrangig die Informationen, die durch den PuSH-Kanal kommen. +Sie fallen zurück auf eine tägliche Abfrage, wenn der Hub Übertragungsschwierigkeiten hat (das kann vorkommen, wenn der standardmäßige Google-Referenzhub genutzt wird). +Wenn kein spezifizierter Hub oder Hubs ausgewählt sind, werden DFRN-Clients in einer pro Kontakt konfigurierbaren Rate mit bis zu 5-Minuten-Intervallen abfragen. +Feeds, die via DFRN-Poll abgerufen werden, sind bbcode und können auch private Unterhaltungen enthalten, die vom Poller auf ihre Zugriffsrechte hin geprüft werden. Szenario #2. Jack antwortet auf Bobs öffentliche Nachricht. Jack ist im Friendica/DFRN-Netzwerk. -Jack nutzt dfrn-notify, um eine direkte Antwort an Bob zu schicken. Bob erstellt dann einen Feed der Unterhaltung und sendet diesen an jeden, der an der Unterhaltung beteiligt ist und dfrn-notify nutzt. Die PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. Der/die Hub/s erhalten dann die neuesten Feeds und übertragen diese an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). +Jack nutzt dfrn-notify, um eine direkte Antwort an Bob zu schicken. +Bob erstellt dann einen Feed der Unterhaltung und sendet diesen an jeden, der an der Unterhaltung beteiligt ist und dfrn-notify nutzt. +Die PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. Der/die Hub/s erhalten dann die neuesten Feeds und übertragen diese an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). Szenario #3. Mary antwortet auf Bobs öffentliche Nachricht. Mary ist im Friendica/DFRN-Netzwerk. -Mary nutzt dfrn-notify, um eine direkte Antwort an Bob zu schicken. Bob erstellt dann einen Feed der Unterhaltung und sendet diesen an jeden, der an der Unterhaltung beteiligt ist (mit Ausnahme von Bob selbst; die Unterhaltung wird nun an Jack und Mary geschickt). Die Nachrichten werden mit dfrn-notify übertragen. PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. Der/die Hub/s erhalten dann die neuesten Feeds und übertragen sie an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). +Mary nutzt dfrn-notify, um eine direkte Antwort an Bob zu schicken. +Bob erstellt dann einen Feed der Unterhaltung und sendet diesen an jeden, der an der Unterhaltung beteiligt ist (mit Ausnahme von Bob selbst; die Unterhaltung wird nun an Jack und Mary geschickt). +Die Nachrichten werden mit dfrn-notify übertragen. +PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. +Der/die Hub/s erhalten dann die neuesten Feeds und übertragen sie an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). Szenario #4. William antwortet auf Bobs öffentliche Nachricht. William ist in einem OStatus-Netzwerk. -William nutzt salmon, um Bob über seine Antwort zu benachrichtigen. Der Inhalt ist HTML-Code, der in das Salmon Magic Envelope eingebettet ist. Bob erstellt dann einen Feed der Unterhaltung und sendet es an alle Friendica-Nutzer, die an der Unterhaltung beteiligt sind und dfrn-notify nutzen (mit Ausnahme von William selbst; die Unterhaltung wird an Jack und Mary weitergeleitet). PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. Der/die Hub/s erhalten dann die neuesten Feeds und übertragen sie an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). +William nutzt salmon, um Bob über seine Antwort zu benachrichtigen. +Der Inhalt ist HTML-Code, der in das Salmon Magic Envelope eingebettet ist. +Bob erstellt dann einen Feed der Unterhaltung und sendet es an alle Friendica-Nutzer, die an der Unterhaltung beteiligt sind und dfrn-notify nutzen (mit Ausnahme von William selbst; die Unterhaltung wird an Jack und Mary weitergeleitet). +PuSH-Hubs werden darüber informiert, dass neuer Inhalt verfügbar ist. Der/die Hub/s erhalten dann die neuesten Feeds und übertragen sie an alle Hub-Teilnehmer (die auch zu verschiedenen Netzwerken gehören können). Szenario #5. Bob schreibt eine private Nachricht an Mary und Jack. -Die Nachricht wird sofort an Mary und Jack mit Hilfe von dfrn_notify geschickt. Öffentliche Hubs werden nicht benachrichtigt. Im Falle eines Timeouts wird eine erneute Verarbeitung angestoßen. Antworten folgen dem gleichen Nachrichtenfluss wie öffentliche Antworten, allerdings werden die Hubs nicht darüber informiert, wodurch die Nachrichten niemals in öffentliche Feeds gelangen. Die komplette Unterhaltung ist nur für Mary und Jack in ihren durch dfrn-poll personalisierten Feeds verfügbar (und für niemanden sonst). +Die Nachricht wird sofort an Mary und Jack mit Hilfe von dfrn_notify geschickt. +Öffentliche Hubs werden nicht benachrichtigt. +Im Falle eines Timeouts wird eine erneute Verarbeitung angestoßen. +Antworten folgen dem gleichen Nachrichtenfluss wie öffentliche Antworten, allerdings werden die Hubs nicht darüber informiert, wodurch die Nachrichten niemals in öffentliche Feeds gelangen. +Die komplette Unterhaltung ist nur für Mary und Jack in ihren durch dfrn-poll personalisierten Feeds verfügbar (und für niemanden sonst). diff --git a/doc/de/Move-Account.md b/doc/de/Move-Account.md index 8861fe7ef..426692c28 100644 --- a/doc/de/Move-Account.md +++ b/doc/de/Move-Account.md @@ -10,32 +10,23 @@ Accounts Umziehen Unter "Einstellungen" -> "[Persönliche Daten exportieren](uexport)" aufrufen. "Account exportieren" anklicken und die Daten speichern. -Diese Datei enthält Details über dich, deine Kontakte, Gruppen und persönliche -Einstellungen. Außerdem enthält sie deinen geheimen Schlüssel mit dem du dich -deinen Kontakten gegenüber ausweist. +Diese Datei enthält Details über dich, deine Kontakte, Gruppen und persönliche Einstellungen. +Außerdem enthält sie deinen geheimen Schlüssel mit dem du dich deinen Kontakten gegenüber ausweist. **Speichere diese Datei an einem sicheren Ort**! -Rufe nun dem neuen Server die Seite *http://newserver.com/uimport* auf -(es gibt derzeit keinen direkten Link auf diese Seite). +Rufe nun dem neuen Server die Seite *http://newserver.com/uimport* auf (es gibt derzeit keinen direkten Link auf diese Seite). Lege auf dem neuen Server auf keinen Fall einen gleichnamigen Account an! uimport muss anstelle des Registrierens verwendet werden. Wähle die gesicherte Account Datei aus und klicke "Importieren". -Friendica wird nun deinen Account auf dem neuen Server wiederherstellen, mit -all deinen Friendica Kontakten und Gruppen. An deine Friendica Kontakte wird -außerdem eine Nachricht gesendet um sie über deine neue Adresse zu informieren. -Wenn deine Kontakte ihren Account auf einem aktuellen Server haben werden deine -Kontaktdetails automatisch aktualisiert. +Friendica wird nun deinen Account auf dem neuen Server wiederherstellen, mit all deinen Friendica Kontakten und Gruppen. +An deine Friendica Kontakte wird außerdem eine Nachricht gesendet um sie über deine neue Adresse zu informieren. +Wenn deine Kontakte ihren Account auf einem aktuellen Server haben werden deine Kontaktdetails automatisch aktualisiert. -Kontakte auf StatusNet/idendi.ca oder Diaspora werden archiviert, da wir ihnen -keine Information über deinen Umzug zukommen lassen können. -Du solltest sie persönlich anschreiben deinen Eintrag aus ihren Kontaktlisten -zu entfernen und dich neu hinzuzufügen, anschließend solltest du da gleiche mit -ihren Accounts tun.. - -Nach dem Umzug wird dein Account auf dem alten Server nicht mehr zuverlässig -funktionieren und sollte deshalb gelöscht werden. +Kontakte auf StatusNet/idendi.ca oder Diaspora werden archiviert, da wir ihnen keine Information über deinen Umzug zukommen lassen können. +Du solltest sie persönlich anschreiben deinen Eintrag aus ihren Kontaktlisten zu entfernen und dich neu hinzuzufügen, anschließend solltest du da gleiche mit ihren Accounts tun. +Nach dem Umzug wird dein Account auf dem alten Server nicht mehr zuverlässig funktionieren und sollte deshalb gelöscht werden. diff --git a/doc/de/Plugins.md b/doc/de/Plugins.md index 9fa67bd7b..448eee39b 100644 --- a/doc/de/Plugins.md +++ b/doc/de/Plugins.md @@ -3,9 +3,16 @@ * [Zur Startseite der Hilfe](help) -Bitte schau dir das Beispiel-Addon "randplace" für ein funktionierendes Beispiel für manche der hier aufgeführten Funktionen an. Das Facebook-Addon bietet ein Beispiel dafür, die "addon"- und "module"-Funktion gemeinsam zu integrieren. Addons arbeiten, indem sie Event Hooks abfangen. Module arbeiten, indem bestimmte Seitenanfragen (durch den URL-Pfad) abgefangen werden +Bitte schau dir das Beispiel-Addon "randplace" für ein funktionierendes Beispiel für manche der hier aufgeführten Funktionen an. +Das Facebook-Addon bietet ein Beispiel dafür, die "addon"- und "module"-Funktion gemeinsam zu integrieren. +Addons arbeiten, indem sie Event Hooks abfangen. Module arbeiten, indem bestimmte Seitenanfragen (durch den URL-Pfad) abgefangen werden -Plugin-Namen können keine Leerstellen oder andere Interpunktionen enthalten und werden als Datei- und Funktionsnamen genutzt. Du kannst einen lesbaren Namen im Kommentarblock eintragen. Jedes Addon muss beides beinhalten - eine Installations- und eine Deinstallationsfunktion, die auf dem Addon-/Plugin-Namen basieren; z.B. "plugin1name_install()". Diese beiden Funktionen haben keine Argumente und sind dafür verantwortlich, Event Hooks zu registrieren und abzumelden (unregistering), die dein Plugin benötigt. Die Installations- und Deinstallationsfunktionfunktionen werden auch ausgeführt (z.B. neu installiert), wenn sich das Plugin nach der Installation ändert - somit sollte deine Deinstallationsfunktion keine Daten zerstört und deine Installationsfunktion sollte bestehende Daten berücksichtigen. Zukünftige Extensions werden möglicherweise "Setup" und "Entfernen" anbieten. +Plugin-Namen können keine Leerstellen oder andere Interpunktionen enthalten und werden als Datei- und Funktionsnamen genutzt. +Du kannst einen lesbaren Namen im Kommentarblock eintragen. +Jedes Addon muss beides beinhalten - eine Installations- und eine Deinstallationsfunktion, die auf dem Addon-/Plugin-Namen basieren; z.B. "plugin1name_install()". +Diese beiden Funktionen haben keine Argumente und sind dafür verantwortlich, Event Hooks zu registrieren und abzumelden (unregistering), die dein Plugin benötigt. +Die Installations- und Deinstallationsfunktionfunktionen werden auch ausgeführt (z.B. neu installiert), wenn sich das Plugin nach der Installation ändert - somit sollte deine Deinstallationsfunktion keine Daten zerstört und deine Installationsfunktion sollte bestehende Daten berücksichtigen. +Zukünftige Extensions werden möglicherweise "Setup" und "Entfernen" anbieten. Plugins sollten einen Kommentarblock mit den folgenden vier Parametern enthalten: @@ -22,7 +29,8 @@ Registriere deine Plugin-Hooks während der Installation. $hookname ist ein String und entspricht einem bekannten Friendica-Hook. -$file steht für den Pfadnamen, der relativ zum Top-Level-Friendicaverzeichnis liegt. Das *sollte* "addon/plugin_name/plugin_name.php' sein. +$file steht für den Pfadnamen, der relativ zum Top-Level-Friendicaverzeichnis liegt. +Das *sollte* "addon/plugin_name/plugin_name.php' sein. $function ist ein String und der Name der Funktion, die ausgeführt wird, wenn der Hook aufgerufen wird. @@ -34,21 +42,29 @@ Deine Hook-Callback-Funktion wird mit mindestens einem und bis zu zwei Argumente Wenn du Änderungen an den aufgerufenen Daten vornehmen willst, musst du diese als Referenzvariable (mit "&") während der Funktionsdeklaration deklarieren. -$a ist die Friendica "App"-Klasse, die eine Menge an Informationen über den aktuellen Friendica-Status beinhaltet, u.a. welche Module genutzt werden, Konfigurationsinformationen, Inhalte der Seite zum Zeitpunkt des Hook-Aufrufs. Es ist empfohlen, diese Funktion "$a" zu nennen, um seine Nutzung an den Gebrauch an anderer Stelle anzugleichen. +$a ist die Friendica "App"-Klasse, die eine Menge an Informationen über den aktuellen Friendica-Status beinhaltet, u.a. welche Module genutzt werden, Konfigurationsinformationen, Inhalte der Seite zum Zeitpunkt des Hook-Aufrufs. +Es ist empfohlen, diese Funktion "$a" zu nennen, um seine Nutzung an den Gebrauch an anderer Stelle anzugleichen. -$b kann frei benannt werden. Diese Information ist speziell auf den Hook bezogen, der aktuell bearbeitet wird, und beinhaltet normalerweise Daten, die du sofort nutzen, anzeigen oder bearbeiten kannst. Achte darauf, diese mit "&" zu deklarieren, wenn du sie bearbeiten willst. +$b kann frei benannt werden. +Diese Information ist speziell auf den Hook bezogen, der aktuell bearbeitet wird, und beinhaltet normalerweise Daten, die du sofort nutzen, anzeigen oder bearbeiten kannst. +Achte darauf, diese mit "&" zu deklarieren, wenn du sie bearbeiten willst. **Module** -Plugins/Addons können auch als "Module" agieren und alle Seitenanfragen für eine bestimte URL abfangen. Um ein Plugin als Modul zu nutzen, ist es nötig, die Funktion "plugin_name_module()" zu definieren, die keine Argumente benötigt und nichts weiter machen muss. +Plugins/Addons können auch als "Module" agieren und alle Seitenanfragen für eine bestimte URL abfangen. +Um ein Plugin als Modul zu nutzen, ist es nötig, die Funktion "plugin_name_module()" zu definieren, die keine Argumente benötigt und nichts weiter machen muss. -Wenn diese Funktion existiert, wirst du nun alle Seitenanfragen für "http://my.web.site/plugin_name" erhalten - mit allen URL-Komponenten als zusätzliche Argumente. Diese werden in ein Array $a->argv geparst und stimmen mit $a->argc überein, wobei sie die Anzahl der URL-Komponenten abbilden. So würde http://my.web.site/plugin/arg1/arg2 nach einem Modul "plugin" suchen und seiner Modulfunktion die $a-App-Strukur übergeben (dies ist für viele Komponenten verfügbar). Das umfasst: +Wenn diese Funktion existiert, wirst du nun alle Seitenanfragen für "http://my.web.site/plugin_name" erhalten - mit allen URL-Komponenten als zusätzliche Argumente. +Diese werden in ein Array $a->argv geparst und stimmen mit $a->argc überein, wobei sie die Anzahl der URL-Komponenten abbilden. +So würde http://my.web.site/plugin/arg1/arg2 nach einem Modul "plugin" suchen und seiner Modulfunktion die $a-App-Strukur übergeben (dies ist für viele Komponenten verfügbar). Das umfasst: $a->argc = 3 $a->argv = array(0 => 'plugin', 1 => 'arg1', 2 => 'arg2'); -Deine Modulfunktionen umfassen oft die Funktion plugin_name_content(&$a), welche den Seiteninhalt definiert und zurückgibt. Sie können auch plugin_name_post(&$a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt. Du kannst ebenso plugin_name_init(&$a) nutzen, was oft frühzeitig aufgerufen wird und das Modul initialisert. +Deine Modulfunktionen umfassen oft die Funktion plugin_name_content(&$a), welche den Seiteninhalt definiert und zurückgibt. +Sie können auch plugin_name_post(&$a) umfassen, welches vor der content-Funktion aufgerufen wird und normalerweise die Resultate der POST-Formulare handhabt. +Du kannst ebenso plugin_name_init(&$a) nutzen, was oft frühzeitig aufgerufen wird und das Modul initialisert. **Derzeitige Hooks:** diff --git a/doc/de/Profiles.md b/doc/de/Profiles.md index 0da6476d8..311f1c792 100644 --- a/doc/de/Profiles.md +++ b/doc/de/Profiles.md @@ -3,9 +3,12 @@ Profile * [Zur Startseite der Hilfe](help) -Mit Friendica kann eine unbegrenzte Anzahl an Profilen angelegt werden. Du kannst verschiedene Profile nutzen, um verschiedenen Gruppen verschiedene Seiten von dir zu zeigen. +Mit Friendica kann eine unbegrenzte Anzahl an Profilen angelegt werden. +Du kannst verschiedene Profile nutzen, um verschiedenen Gruppen verschiedene Seiten von dir zu zeigen. -Du hast immer ein Profil, das als dein "Standard"- (default) oder "öffentliches" (public) Profil angelegt ist. Dieses Profil ist immer für die Öffentlichkeit zugänglich und kann nicht versteckt werden (hier mag es einige wenige Ausnahmen auf privaten oder getrennten Seiten geben). Du kannst und solltest die Informationen, die du in deinem öffentlichen Profil veröffentlichst, begrenzen. +Du hast immer ein Profil, das als dein "Standard"- (default) oder "öffentliches" (public) Profil angelegt ist. +Dieses Profil ist immer für die Öffentlichkeit zugänglich und kann nicht versteckt werden (hier mag es einige wenige Ausnahmen auf privaten oder getrennten Seiten geben). +Du kannst und solltest die Informationen, die du in deinem öffentlichen Profil veröffentlichst, begrenzen. Das bedeutet, dass du folgende Informationen in dein öffentlichen Profil eintragen solltest, wenn du willst, dass Freunde dich finden können ... @@ -13,35 +16,64 @@ Das bedeutet, dass du folgende Informationen in dein öffentlichen Profil eintra * Ein Foto von **dir** * Dein geographischer Standort; zumindest das Land, in dem du lebst. -Ohne diese Basisinformationen kannst du hier sehr einsam sein. Die meisten Leute, auch deine besten Freunde, werden nicht versuchen, einen Account mit Spitznamen und ohne Foto zu verbinden. +Ohne diese Basisinformationen kannst du hier sehr einsam sein. +Die meisten Leute, auch deine besten Freunde, werden nicht versuchen, einen Account mit Spitznamen und ohne Foto zu verbinden. -Wenn du außerdem Leute mit gleichen Interessen treffen willst, dann nimm dir etwas Zeit und trage einige Stichworte ein. Zum Beispiel etwas wie "Musik, Linux, Photographie" oder andere Dinge. Du kannst so viele Stichworte eintragen, wie du willst. +Wenn du außerdem Leute mit gleichen Interessen treffen willst, dann nimm dir etwas Zeit und trage einige Stichworte ein. +Zum Beispiel etwas wie "Musik, Linux, Photographie" oder andere Dinge. +Du kannst so viele Stichworte eintragen, wie du willst. -Dein "Standard-" oder "öffentliches" Profil wird außerdem Kontakten in anderen Netzwerken gezeigt, auch wenn sie nicht die Möglichkeit haben, die privaten Profile einzusehen. Nur Mitglieder des Friendica-Netzwerks können alternative oder private Profile sehen. +Dein "Standard-" oder "öffentliches" Profil wird außerdem Kontakten in anderen Netzwerken gezeigt, auch wenn sie nicht die Möglichkeit haben, die privaten Profile einzusehen. +Nur Mitglieder des Friendica-Netzwerks können alternative oder private Profile sehen. -Um ein alternatives Profil zu erstellen, gehe auf "Profil verwalten/editieren". Du kannst entweder ein bestehendes Profil bearbeiten, das Foto ändern, oder ein neues Profil erstellen. Du kannst ebenfalls einen Klon eines bestehenden Profils erstellen, falls du nur einige wenige Einstellungen ändern, aber nicht alle Daten noch mal eingeben willst. +Um ein alternatives Profil zu erstellen, gehe auf "Profil verwalten/editieren". +Du kannst entweder ein bestehendes Profil bearbeiten, das Foto ändern, oder ein neues Profil erstellen. +Du kannst ebenfalls einen Klon eines bestehenden Profils erstellen, falls du nur einige wenige Einstellungen ändern, aber nicht alle Daten noch mal eingeben willst. -Um bestimmten Personen ein Profil zuzuweisen, wähle die Person über "Kontakte" und klicke auf das Bearbeiten-Symbol (Stift). Du wirst ein Auswahlmenü mit verschiedenen vorhandenen Profilen angezeigt bekommen. Wenn diese Auswahl nicht angezeigt wird, dann ist die Person in einem nicht unterstützten Netzwerk und kann dadurch auch kein Profil zugewiesen bekommen. +Um bestimmten Personen ein Profil zuzuweisen, wähle die Person über "Kontakte" und klicke auf das Bearbeiten-Symbol (Stift). +Du wirst ein Auswahlmenü mit verschiedenen vorhandenen Profilen angezeigt bekommen. +Wenn diese Auswahl nicht angezeigt wird, dann ist die Person in einem nicht unterstützten Netzwerk und kann dadurch auch kein Profil zugewiesen bekommen. -Wenn eine befreundete Person auf den "magischen Profillink" klickt, sieht sie das private Profil, das du dieser Person zugewiesen hast. Wenn sie nicht eingeloggt ist oder das Profil von woanders angeschaut wird, wird nur das öffentliche Profil angezeigt. +Wenn eine befreundete Person auf den "magischen Profillink" klickt, sieht sie das private Profil, das du dieser Person zugewiesen hast. +Wenn sie nicht eingeloggt ist oder das Profil von woanders angeschaut wird, wird nur das öffentliche Profil angezeigt. -Ein "magischer Profillink" erscheint, wenn man mit der Maus über den Kontaktnamen oder das Foto geht. Der Cursor wird zur Hand und auf dem Bild erscheint ein Pfeil, der nach unten zeigt. Dieser "magische Cursor" zeigt an, dass du ein spezielles Profil angezeigt bekommst, das nur für Freunde, aber nicht für die Öffentlichkeit sichtbar ist. +Ein "magischer Profillink" erscheint, wenn man mit der Maus über den Kontaktnamen oder das Foto geht. +Der Cursor wird zur Hand und auf dem Bild erscheint ein Pfeil, der nach unten zeigt. +Dieser "magische Cursor" zeigt an, dass du ein spezielles Profil angezeigt bekommst, das nur für Freunde, aber nicht für die Öffentlichkeit sichtbar ist. -Du wirst außerdem möglicherweise entdecken (vorausgesetzt, du hast die nötigen Zugriffsrechte), dass du direkt auf die Seite einer anderen Person schreiben kannst (oft wird diese Beitragsart "wall-to-wall" genannt). Ebenso kannst du die Möglichkeit haben, direkt Beiträge zu kommentieren, während du die Seite der anderen Person besuchst. +Du wirst außerdem möglicherweise entdecken (vorausgesetzt, du hast die nötigen Zugriffsrechte), dass du direkt auf die Seite einer anderen Person schreiben kannst (oft wird diese Beitragsart "wall-to-wall" genannt). +Ebenso kannst du die Möglichkeit haben, direkt Beiträge zu kommentieren, während du die Seite der anderen Person besuchst. -Es gibt zwei Einstellungen, welche erlauben, dein Profil ins Verzeichnis einzutragen, so dass du von anderen Personen gefunden werden kannst. Du kannst diese Einstellungen auf deiner "Einstellungen"-Seite ändern. Die eine Einstellung erlaubt dir, dein Profil im Verzeichnis dieses Servers zu veröffentlichen. Die zweite Option erlaubt es dir, dich in das globale Friendica-Verzeichnis einzutragen. Dies ist ein riesiges Verzeichnis, dass alle Personen von vielen Friendica-Installationen weltweit umfasst. +Es gibt zwei Einstellungen, welche erlauben, dein Profil ins Verzeichnis einzutragen, so dass du von anderen Personen gefunden werden kannst. +Du kannst diese Einstellungen auf deiner "Einstellungen"-Seite ändern. +Die eine Einstellung erlaubt dir, dein Profil im Verzeichnis dieses Servers zu veröffentlichen. +Die zweite Option erlaubt es dir, dich in das globale Friendica-Verzeichnis einzutragen. +Dies ist ein riesiges Verzeichnis, dass alle Personen von vielen Friendica-Installationen weltweit umfasst. Wenn du für andere nicht sichtbar sein willst, dann kannst du dein Profil einfach unveröffentlicht lassen. -Außerdem hast du möglicherweise mehrere Profile, aber nur ein Profilfoto. Dies ist beabsichtigt. In frühen Tests haben wir mit verschiedenen Fotos für jedes Profil experimentiert und herausgefunden, dass es sehr verwirrend für die Nutzer ist. Sie sehen möglicherweise je nach Profil, Seite oder Unterhaltung verschiedene Fotos und merken, dass es unterschiedliche Profile gibt, die sie nicht einsehen können. +Außerdem hast du möglicherweise mehrere Profile, aber nur ein Profilfoto. Dies ist beabsichtigt. +In frühen Tests haben wir mit verschiedenen Fotos für jedes Profil experimentiert und herausgefunden, dass es sehr verwirrend für die Nutzer ist. +Sie sehen möglicherweise je nach Profil, Seite oder Unterhaltung verschiedene Fotos und merken, dass es unterschiedliche Profile gibt, die sie nicht einsehen können. (Du kannst aber die Rich-Text-Infoboxen in deinem Profil nutzen und dort weitere Bilder in das Feld "Erzähle uns ein bisschen von dir …" einfügen.) **Schlüsselwörter und Verzeichnissuche** -Auf der Verzeichnisseite willst du vielleicht nach Personen deines Servers suchen, die ihre Profile veröffentlicht haben. Die Suche richtet sich normalerweise nach deinem Spitznamen oder Teilen deines richtigen Namens. Darüber hinaus wird dieses Feld auch andere Felder deines Profils wie Geschlecht, Ort, "über mich", Arbeit und Bildung finden. Du kannst zudem auch "Schlüsselwörter" in dein Standardprofil eintragen, so dass dich andere Personen über deine Interessen finden können. Du hast zwei Schlüsselwortarten zur Auswahl - öffentlich und privat. Private Schlüsselwörter werden *nicht* jedem angezeigt. Du kannst diese Schlüsselwörter nutzen, um andere Personen zu finden, die ebenfalls in einer bestimmten Gruppe sind oder z.B. das Fischen mögen, ohne dass es jeder in einem öffentlichen Profil sieht. Öffentliche Schlüsselwörter werden auf der "Kontaktvorschläge"-Seite genutzt. Auch wenn die Schlüsselwörter hier nicht direkt angezeigt werden, kann es trotzdem sein, dass diese im HTML-Code der Seite gesehen werden könnten. +Auf der Verzeichnisseite willst du vielleicht nach Personen deines Servers suchen, die ihre Profile veröffentlicht haben. +Die Suche richtet sich normalerweise nach deinem Spitznamen oder Teilen deines richtigen Namens. +Darüber hinaus wird dieses Feld auch andere Felder deines Profils wie Geschlecht, Ort, "über mich", Arbeit und Bildung finden. +Du kannst zudem auch "Schlüsselwörter" in dein Standardprofil eintragen, so dass dich andere Personen über deine Interessen finden können. +Du hast zwei Schlüsselwortarten zur Auswahl - öffentlich und privat. Private Schlüsselwörter werden *nicht* jedem angezeigt. +Du kannst diese Schlüsselwörter nutzen, um andere Personen zu finden, die ebenfalls in einer bestimmten Gruppe sind oder z.B. das Fischen mögen, ohne dass es jeder in einem öffentlichen Profil sieht. +Öffentliche Schlüsselwörter werden auf der "Kontaktvorschläge"-Seite genutzt. +Auch wenn die Schlüsselwörter hier nicht direkt angezeigt werden, kann es trotzdem sein, dass diese im HTML-Code der Seite gesehen werden könnten. -In der Verzeichnis-Suche kannst du ebenfalls die "booleasche"-Logik zu nutzen. Mit "+lesbisch +Florida" kannst du Leute finden, deren sexuelle Einstellung (oder andere Schlüsselwörter) das Wort "lesbisch" enthält und die in Florida leben. Schau dir den Bereich über "Thematische Tags" auf der "[Tags und Erwähnungen-Seite](help/Tags-and-Mentions) für weitere Informationen, um booleansche Suchen durchzuführen. +In der Verzeichnis-Suche kannst du ebenfalls die "booleasche"-Logik zu nutzen. Mit "+lesbisch +Florida" kannst du Leute finden, deren sexuelle Einstellung (oder andere Schlüsselwörter) das Wort "lesbisch" enthält und die in Florida leben. +Schau dir den Bereich über "Thematische Tags" auf der "[Tags und Erwähnungen-Seite](help/Tags-and-Mentions) für weitere Informationen, um booleansche Suchen durchzuführen. -Auf deiner Kontaktseite ist der Link "Ähnliche Interessen", um damit andere Leute zu finden (falls dein Seitenadministrator das globale Verzeichnis nicht ausgeschaltet hat). Hierfür werden die Schlüsselwörter aus deinen öffentlichen und privaten Profilen genutzt, um Personen im globalen Verzeichnis zu finden, die gleiche oder ähnliche Schlüsselwörter haben (deine privaten Schlüsselwörter werden nicht in das globale Verzeichnis übertragen oder gespeichert). Je mehr Schlüsselwörter du einträgst, umso genauer ist die Suche. Das Suchergebnis ist nach Relevanz sortiert. Gegebenenfalls stehst du ganz oben auf der Liste - schließlich bist du die Person, die am besten zu deinen Schlüsselwörtern passt. +Auf deiner Kontaktseite ist der Link "Ähnliche Interessen", um damit andere Leute zu finden (falls dein Seitenadministrator das globale Verzeichnis nicht ausgeschaltet hat). +Hierfür werden die Schlüsselwörter aus deinen öffentlichen und privaten Profilen genutzt, um Personen im globalen Verzeichnis zu finden, die gleiche oder ähnliche Schlüsselwörter haben (deine privaten Schlüsselwörter werden nicht in das globale Verzeichnis übertragen oder gespeichert). +Je mehr Schlüsselwörter du einträgst, umso genauer ist die Suche. Das Suchergebnis ist nach Relevanz sortiert. +Gegebenenfalls stehst du ganz oben auf der Liste - schließlich bist du die Person, die am besten zu deinen Schlüsselwörtern passt. diff --git a/doc/de/Quick-Start-andfinally.md b/doc/de/Quick-Start-andfinally.md index b6e492ae6..98dfa556a 100644 --- a/doc/de/Quick-Start-andfinally.md +++ b/doc/de/Quick-Start-andfinally.md @@ -3,16 +3,16 @@ Und damit sind wir auch schon am Ende der Schnellstartanleitung. -Hier sind noch einige weitere Dinge, die dir den Start vereinfachen können. +Hier sind noch einige weitere Dinge, die Dir den Start vereinfachen können. **Gruppen** - Friendica Support - Probleme? Dann ist das der Platz, um zu fragen! -- Let's Talk eine Gruppe, um Leute und Gruppen mit gleichen Interessen zu finden + **Dokumentation** diff --git a/doc/de/Quick-Start-groupsandpages.md b/doc/de/Quick-Start-groupsandpages.md index f0547667f..88bf5652f 100644 --- a/doc/de/Quick-Start-groupsandpages.md +++ b/doc/de/Quick-Start-groupsandpages.md @@ -3,13 +3,22 @@ Gruppen und Seiten * [Zur Startseite der Hilfe](help) -Hier siehst du das globale Verzeichnis. Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. +Hier siehst Du das globale Verzeichnis. +Wenn Du Dich mal verirrt hast, kannst Du diesen Link klicken und wieder hierher kommen. -Auf dieser Seite findest du eine Zusammenstellung von Gruppen, Foren und bekannten Seiten. Gruppen sind keine realen Personen. Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet. Habe keine Sorge, falls du dich unbehaglich fühlst, wenn du dich einer neuen Person vorstellen sollst, da es sich nicht um Personen handelt. +Auf dieser Seite findest Du eine Zusammenstellung von Gruppen, Foren und Promi-Seiten. Gruppen sind keine realen Personen. +Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet. +Es gibt keinen Anlass zur Unsicherheit, ob Du Dich einfach so mit einer Gruppe verbinden kannst oder nicht, da es sich nicht um Personen handelt. -Wenn du dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in deinem "Netzwerk"-Tab. Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eine der Gruppenmitglieder persönlich hinzuzufügen. Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen. Du findest Personen, die du magst, anstatt Fremde hinzuzufügen. Suche dir einfach eine Gruppe und füge sie so hinzu, wie du auch normale Freunde hinzufügst. Es gibt eine Menge Gruppen und möglicherweise findest du nicht wieder zu dieser Seite zurück. In diesem Fall nutze einfach den Link oben auf dieser Seite. +Wenn Du Dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in Deinem "Netzwerk"-Tab. +Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eines der Gruppenmitglieder persönlich hinzuzufügen. +Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen. +Du findest Personen Deines Interesses, anstatt Fremde hinzuzufügen. +Suche Dir einfach eine Gruppe und füge sie so hinzu, wie Du auch normale Freunde hinzufügst. +Es gibt eine Menge Gruppen. +Solltest Du beim Stöbern durch die vielen Gruppen nicht wieder hierher zurück finden, so nutze einfach den Link oben auf dieser Seite. -Wenn du einige Gruppen hinzugefügt hast, gehe weiter zum nächsten Schritt. +Wenn Du einige Gruppen hinzugefügt hast, gehe weiter zum nächsten Schritt. diff --git a/doc/de/Quick-Start-guide.md b/doc/de/Quick-Start-guide.md index eb0fd0539..d3dbd6b27 100644 --- a/doc/de/Quick-Start-guide.md +++ b/doc/de/Quick-Start-guide.md @@ -1,17 +1,34 @@ Erste Schritte... -========== +================= * [Zur Startseite der Hilfe](help) -Das Erste zum Anfang: geh sicher, dass du schon eingeloggt bist. Wenn du noch nicht eingeloggt bist, kannst du das in dem Fenster unten machen. +Als Erstes: Gehe sicher, dass Du eingeloggt bist. +Wenn Du noch nicht eingeloggt bist, kannst Du das in dem Fenster unten machen. -Sobald du eingeloggt bist (oder wenn du bereits eingeloggt bist), kannst du unten nun auf deine Profilseite schauen. +Sobald dies geschehen ist, schaust Du auf die Netzwerkseite Deines Profils. +Klicke auf den Reiter "Pinnwand". +Hier sieht es ein wenig wie auf (D)einer Facebook-Seite aus. +Du findest hier alle Deine Statusmeldungen und Nachrichten Deiner Freunde, die direkt auf Deine "Pinnwand" ("Wall") geschrieben haben. +Um Deinen Status einzutragen, klicke einfach auf die Box oben, in der "Teilen" steht. +Wenn Du das machst, vergrößert sich die Box, und Du kannst nun Deinen Text eintragen, mit Hilfe einiger Formatierungsoptionen wie fett, kursiv, unterstrichen formatieren und ebenfalls Bilder und Links hinzufügen. +Unten findest Du in diesem Feld weitere Knöpfe, mit denen Du Bilder und Dateien von Deinem Computer hochladen, Webseiten mit einem Kurztext teilen und Video- und Audiodateien aus dem Internet einfügen kannst. +Außerdem kannst Du hier eintragen, wo Du gerade bist. -Hier sieht es ein wenig wie auf deiner Facebook-Seite aus. Hier findest du alle deine Statusmeldungen und Nachrichten deiner Freunde, die direkt auf deine Seite ("Wall") geschrieben haben. Um deinen Status einzutragen, klicke einfach auf die Box oben, in der "Teilen" steht. Wenn du das machst, vergrößert sich die Box. Nun kannst du einige Formatierungsoptionen wie Fett, kursiv, unterstrichen auswählen und ebenfalls Bilder und Links hinzufügen. Unten findest du in diesem Feld weitere Links, mit denen du Bilder und Dateien von deinem Computer hochladen, Webseiten mit einem Kurztext teilen und Video- und Audiodateien aus dem Internet einfügen kannst. Außerdem kannst du hier eintragen, wo du gerade bist. +Wenn Du Deinen Beitrag ("Post") geschrieben hast, kannst Du auf das "Schloss"-Symbol klicken und festlegen, wer Deinen Beitrag sehen kann. +Wenn Du dieses Symbol nicht anklickst, ist Dein Beitrag öffentlich. +Ein öffentlicher Beitrag ist sichbar für + +Auch wenn Du Deinen Server so konfiguriert hast, dass der Zugriff von außerhalb des Friendica-Netzwerks theoretisch nicht möglich ist, so ist Dein Beitrag über die Profile Deiner Kontakte sichtbar, wenn deren Knoten solche Zugriffe zulassen. -Wenn du deinen Beitrag ("Post") geschrieben hast, kannst du auf das "Schloss"-Symbol klicken und festlegen, wer deinen Beitrag sehen kann. Wenn du dieses Symbol nicht anklickst, ist dein Beitrag öffentlich. Das bedeutet, dass jeder, der dein Profil ansieht, der auf dem "Community"-Tab deines Servers oder auf dem "Netzwerk"-Tab ("Beiträge deiner Kontakte") eines befreundeten Kontakts ist, den Beitrag sehen kann. + -Probiere es doch einfach mal aus. Wenn du fertig bist, schauen wir uns den "Netzwerk"-Tab an. +Probiere es doch einfach mal aus. Wenn Du fertig bist, schauen wir uns den "Netzwerk"-Tab an. diff --git a/doc/de/Quick-Start-makingnewfriends.md b/doc/de/Quick-Start-makingnewfriends.md index 24d9ee418..1e79a7639 100644 --- a/doc/de/Quick-Start-makingnewfriends.md +++ b/doc/de/Quick-Start-makingnewfriends.md @@ -3,13 +3,23 @@ Neue Freunde finden * [Zur Startseite der Hilfe](help) -Hier siehst du die Kontaktvorschläge. Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. +Hier siehst Du die Kontaktvorschläge. +Wenn Du Dich mal verirrt hast, kannst Du diesen Link klicken und wieder hierher kommen. -Diese Seite ist ein wenig wie die Kontaktvorschläge in Facebook. Jeder auf dieser Liste hat zugestimmt, als Kontaktvorschlag zu erscheinen. Das bedeutet, das sie Anfragen meist nicht ablehnen, da sie neue Leute kennenlernen wollen. +Diese Seite funktioniert in etwa wie die Kontaktvorschläge in Facebook. +Jeder auf dieser Liste hat zugestimmt, als Kontaktvorschlag zu erscheinen. +Das bedeutet, das sie Anfragen meist nicht ablehnen, da sie neue Leute kennenlernen wollen. -Siehst du jemanden, dessen Aussehen du magst? Klicke auf den "Verbinden"-Button beim Foto. Als nächstes kommst du zur Seite "Freundschafts-/Kontaktanfrage". Fülle das Formular wie vorgegeben aus und trage optional eine kleine Notiz ein. Nun musst du nur noch auf die Bestätigung warten. Beachte dabei, dass es sich um reale Personen handelt und es somit etwas dauern kann. Jetzt, nachdem du jemanden hinzugefügt hast, weißt du vielleicht nicht mehr, wie du zurückkommst. Klicke einfach auf den Link oben auf dieser Seite und du kommst zurück zur Seite mit den Kontaktvorschlägen, um weitere Personen hinzuzufügen. +Siehst Du jemanden, der Dir interessant erscheint? Klicke auf den "Verbinden"-Knopf beim Foto. +Als nächstes kommst Du zur Seite "Freundschafts-/Kontaktanfrage". +Fülle das Formular wie vorgegeben aus und trage optional eine kleine Notiz ein. +Nun musst Du nur noch auf die Bestätigung warten. +Beachte dabei, dass es sich um reale Personen handelt und es somit etwas dauern kann. -Du willst nicht einfach Personen hinzufügen, die du nicht kennst? Kein Problem - an dieser Stelle kommen wir zu den Gruppen und Seiten. +Jetzt, nachdem Du jemanden hinzugefügt hast, weißt Du vielleicht nicht mehr, wie Du zurückkommst. +Klicke einfach auf den Link oben auf dieser Seite und Du gelangst zur Seite mit den Kontaktvorschlägen zurück, um weitere Personen hinzuzufügen. + +Du willst nicht einfach Personen hinzufügen, die Du nicht kennst? Kein Problem - an dieser Stelle kommen wir zu den Gruppen und Seiten. diff --git a/doc/de/Quick-Start-network.md b/doc/de/Quick-Start-network.md index 6132cd57f..9b525ae2b 100644 --- a/doc/de/Quick-Start-network.md +++ b/doc/de/Quick-Start-network.md @@ -3,11 +3,17 @@ Deine "Netzwerk"-Seite * [Zur Startseite der Hilfe](help) -Das ist dein "Netzwerk"-Tab. Wenn du dich mal verirrt hast, kannst du diesen Link klicken, um wieder hierher zu kommen. +Dies ist Dein "Netzwerk"-Tab. +Wenn Du Dich mal verirrt hast, kannst Du diesen Link klicken, um wieder hierher zu kommen. -Diese Seite ist ein wenig wie die News-Seite in Facebook oder der Stream in Diaspora. Hier findest du alle Beiträge deiner Kontakte, Gruppen und Feeds, die du eingetragen hast. Wenn du neu bist, siehst du hier noch nichts, falls du deinen Status im letzten Schritt noch nicht eingetragen hast. Wenn du bereits ein paar Freunde eingetragen hast, findest du hier ihre Beiträge. Hier kannst du Beiträge kommentieren, eintragen, dass du den Beitrag magst oder ablehnst oder die Profile durch einen Klick auf deren Namen anschauen und auf deren Seite ("Wall") Nachrichten schreiben. +Diese Seite ist ein wenig wie die News-Seite in Facebook oder der Stream in Diaspora. +Hier findest Du alle Beiträge Deiner Kontakte, Gruppen und Feeds, die Du eingetragen hast. +Wenn Du neu bist, siehst Du hier noch nichts, falls Du an Deinem Status im letzten Schritt noch nichts geändert haben solltest. +Wenn Du bereits ein paar Freunde gefunden hast, so findest Du hier ihre Beiträge. +Du kannst ihre Beiträge von hier aus kommentieren, mitteilen, dass Du den Beitrag magst oder ablehnst (Daumen hoch, Daumen runter) oder die Profile durch einen Klick auf deren Namen besuchen und dort auf deren "Pinnwand" ("Wall") Nachrichten schreiben. -Nun wollen wir diese Seite mit Inhalt füllen. Der erste Schritt ist es, Leute zu deinem Account hinzuzufügen. +Nun wollen wir diese Seite mit Inhalt füllen. +Der erste Schritt ist es, Leute zu Deinem Account hinzuzufügen. diff --git a/doc/de/README.md b/doc/de/README.md index 5dc32ee76..a4e2bdec7 100644 --- a/doc/de/README.md +++ b/doc/de/README.md @@ -3,6 +3,7 @@ Friendica-doc-german Friendica - doc - german -Hier findest du die deutsche Version der Friendica-Hilfedateien. Es handelt sich um eine selbst erstellte, öffentlich freigegebene Arbeit mit dem Ziel, Friendica durch deutsche Hilfedateien für weitere Personen zugänglich zu machen, die dem Englischen nicht ausreichend mächtig sind. +Hier findest du die deutsche Version der Friendica-Hilfedateien. +Es handelt sich um eine selbst erstellte, öffentlich freigegebene Arbeit mit dem Ziel, Friendica durch deutsche Hilfedateien für weitere Personen zugänglich zu machen, die dem Englischen nicht ausreichend mächtig sind. Die Daten basieren auf dem offiziellen Friendica-Github https://github.com/friendica/friendica (Stand: 03.11.12) diff --git a/doc/de/Remove-Account.md b/doc/de/Remove-Account.md index 7762ec9d0..9c6e0403b 100644 --- a/doc/de/Remove-Account.md +++ b/doc/de/Remove-Account.md @@ -9,16 +9,25 @@ Wir freuen uns nicht, wenn Leute Friendica verlassen, aber wenn du deinen Accoun in deinem Webbrowser. Du musst dabei eingeloggt sein. -Du wirst nach deinem Passwort gefragt, um die Anfrage zu bestätigen. Wenn dieses mit deinem gespeichertem Passwort übereinstimmt, dann wird dein Account sofort gelöscht. Anders als andere Netzwerke, behalten wir die Daten **nicht** für eine gewisse Zeit, falls du deine Meinung noch änderst. Deine Nutzerdetails, deine Unterhaltungen, deine Photos, deine Freunde - alles; wird sofort gelöscht und du wirst ausgeloggt. +Du wirst nach deinem Passwort gefragt, um die Anfrage zu bestätigen. +Wenn dieses mit deinem gespeichertem Passwort übereinstimmt, dann wird dein Account sofort gelöscht. +Anders als andere Netzwerke, behalten wir die Daten **nicht** für eine gewisse Zeit, falls du deine Meinung noch änderst. +Deine Nutzerdetails, deine Unterhaltungen, deine Photos, deine Freunde - alles; wird sofort gelöscht und du wirst ausgeloggt. -Wenn Beiträge ablaufen, schicken wir Mitteilungen an Friendica, um diese zu löschen. Diaspora hat keine automatische Löschfunktion, so dass diese Funktion in dem Netzwerk deaktiviert ist. Und hoffentlich ist klar, dass das Löschen auch in anderen Netzwerken nicht funktioniert. Wenn du manuell einen Beitrag bzw. eine Reihe von Beiträgen löschst, dann senden wir individuelle Mitteilungen zu Friendica und Diaspora für jeden gelöschten Post. +Wenn Beiträge ablaufen, schicken wir Mitteilungen an Friendica, um diese zu löschen. +Diaspora hat keine automatische Löschfunktion, so dass diese Funktion in dem Netzwerk deaktiviert ist. +Und hoffentlich ist klar, dass das Löschen auch in anderen Netzwerken nicht funktioniert. +Wenn du manuell einen Beitrag bzw. eine Reihe von Beiträgen löschst, dann senden wir individuelle Mitteilungen zu Friendica und Diaspora für jeden gelöschten Post. Diaspora versäumt dieses oft. -Wenn du einen Beitrag löscht, aber jemand diesem Beitrag folgt, wird es trotzdem gelöscht. Dein Wunsch hat Priorität. +Wenn du einen Beitrag löscht, aber jemand diesem Beitrag folgt, wird es trotzdem gelöscht. +Dein Wunsch hat Priorität. Wenn du deinen Account löscht, dann löschen wir alle Beiträge, dein Profil, die Nutzerdaten etc. sofort. -Um einen Gesamtlöschauftrag zu versenden, bräuchten wir zunächst noch deinen Account; auch, um deinen Freunden zu zeigen, wer diese Anfrage stellt. Das können wir nicht tun, wenn du keinen Account mehr hast. +Um einen Gesamtlöschauftrag zu versenden, bräuchten wir zunächst noch deinen Account; auch, um deinen Freunden zu zeigen, wer diese Anfrage stellt. +Das können wir nicht tun, wenn du keinen Account mehr hast. -Deine Freunde können möglicherweise noch deine Beiträge sehen, wenn dein Account gelöscht wurde, aber es gibt keinen öffentlichen Ort in Friendica mehr, wo diese angeschaut werden können. Wenn du Freunde bei Diaspora hast, kann es sein, dass deine Beiträge weiterhin vorhanden und für andere aus diesem Netzwerk sichtbar sind. +Deine Freunde können möglicherweise noch deine Beiträge sehen, wenn dein Account gelöscht wurde, aber es gibt keinen öffentlichen Ort in Friendica mehr, wo diese angeschaut werden können. +Wenn du Freunde bei Diaspora hast, kann es sein, dass deine Beiträge weiterhin vorhanden und für andere aus diesem Netzwerk sichtbar sind. diff --git a/doc/de/SSL.md b/doc/de/SSL.md index ecb10d9d3..dd9b42676 100644 --- a/doc/de/SSL.md +++ b/doc/de/SSL.md @@ -7,13 +7,19 @@ Wenn du deine eigene Friendica-Seite betreibst, willst du vielleicht SSL (https) Wenn du das auf deiner eigenen Domain machen willst, musst du ein Zertifikat von einer anerkannten Organisation beschaffen (sogenannte selbst-signierte Zertifikate, die unter Computerfreaks beliebt sind, arbeiten nicht sehr gut mit Friendica, weil sie Warnungen im Browser hervorrufen können). -Wenn du dieses Dokument liest, bevor du Friendica installierst, kannst du eine sehr einfache Option in Betracht ziehen: suche dir ein geteiltes Hosting-Angebot (shared hosting) ohne eigene Domain. Dadurch wirst du eine Adresse in der Form deinName.deinAnbietername.de erhalten, was nicht so schön wie deinName.de ist. Aber es wird trotzdem deine ganz persönliche Seite sein und du wirst unter Umständen die Möglichkeit haben, das SSL-Zertifikat deines Anbieters mitzubenutzen. Das bedeutet, dass du SSL überhaupt nicht konfigurieren musst - es wird einfach sofort funktionieren, wenn die Besucher deiner Seite https statt http eingeben. +Wenn du dieses Dokument liest, bevor du Friendica installierst, kannst du eine sehr einfache Option in Betracht ziehen: suche dir ein geteiltes Hosting-Angebot (shared hosting) ohne eigene Domain. +Dadurch wirst du eine Adresse in der Form deinName.deinAnbietername.de erhalten, was nicht so schön wie deinName.de ist. +Aber es wird trotzdem deine ganz persönliche Seite sein und du wirst unter Umständen die Möglichkeit haben, das SSL-Zertifikat deines Anbieters mitzubenutzen. +Das bedeutet, dass du SSL überhaupt nicht konfigurieren musst - es wird einfach sofort funktionieren, wenn die Besucher deiner Seite https statt http eingeben. Wenn dir diese Lösung nicht gefällt, lies weiter... **Geteilte Hosting-Angebote/Shared hosts** -Wenn du ein geteiltes Hosting-Angebot mit einer eigenen Domain nutzt, dann wird dir dein Anbieter ggf. anbieten, dir das Zertifikat zu besorgen und zu installieren. Du musst es nur beantragen und bezahlen und alles wird eingerichtet. Wenn das die Lösung für dich ist, musst du das weitere Dokument nicht lesen. Gehe nur sicher, dass das Zertifikat auch für die Domain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de. +Wenn du ein geteiltes Hosting-Angebot mit einer eigenen Domain nutzt, dann wird dir dein Anbieter ggf. anbieten, dir das Zertifikat zu besorgen und zu installieren. +Du musst es nur beantragen und bezahlen und alles wird eingerichtet. +Wenn das die Lösung für dich ist, musst du das weitere Dokument nicht lesen. +Gehe nur sicher, dass das Zertifikat auch für die Domain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de. Das Vorangehende wird die häufigste Art sein, eine Friendica-Seite zu betreiben, so dass der Rest des Artikels für die meisten Leute nicht von Bedeutung ist. @@ -21,29 +27,50 @@ Das Vorangehende wird die häufigste Art sein, eine Friendica-Seite zu betreiben Alternativ kannst du dir auch selbst ein Zertifikat besorgen und hochladen, falls dein Anbieter das unterstützt. -Der nächste Abschnitt beschreibt den Ablauf, um ein Zertifikat von StartSSL zu erhalten. Das Gute an StartSSL ist, dass du kostenlos ein einfaches, aber perfekt ausreichendes Zertifikat erhältst. Das ist bei vielen anderen Anbietern nicht so, weshalb wir uns in diesem Dokument auf StartSSL konzentrieren werden. Wenn du ein Zertifikat eines anderen Anbieters nutzen willst, musst du die Vorgaben dieser Organisation befolgen. Wir können hier nicht jede Möglichkeit abdecken. +Der nächste Abschnitt beschreibt den Ablauf, um ein Zertifikat von StartSSL zu erhalten. +Das Gute an StartSSL ist, dass du kostenlos ein einfaches, aber perfekt ausreichendes Zertifikat erhältst. +Das ist bei vielen anderen Anbietern nicht so, weshalb wir uns in diesem Dokument auf StartSSL konzentrieren werden. +Wenn du ein Zertifikat eines anderen Anbieters nutzen willst, musst du die Vorgaben dieser Organisation befolgen. +Wir können hier nicht jede Möglichkeit abdecken. -Die Installation deines erhaltenen Zertifikats hängt von den Vorgaben deines Anbieters ab. Aber generell nutzen solche Anbieter ein einfaches Web-Tool, um die Einrichtung zu unterstützen. +Die Installation deines erhaltenen Zertifikats hängt von den Vorgaben deines Anbieters ab. +Aber generell nutzen solche Anbieter ein einfaches Web-Tool, um die Einrichtung zu unterstützen. -Beachte: dein Zertifikat gilt gewöhnlich nur für eine Subdomain. Wenn du dein Zertifikat beantragst, sorge dafür, dass es für die Domain und die Subdomain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de. +Beachte: dein Zertifikat gilt gewöhnlich nur für eine Subdomain. +Wenn du dein Zertifikat beantragst, sorge dafür, dass es für die Domain und die Subdomain gilt, die du für Friendica nutzt: z.B. meinfriendica.de oder friendica.meinserver.de. **Erhalte ein kostenloses StartSSL-Zertifikat** -Die Webseite von StartSSL führt dich durch den Erstellungsprozess, aber manche Leute haben hier trotzdem Probleme. Wir empfehlen dir ausdrücklich, die Installationsanleitung Schritt für Schritt langsam und sorgfältig zu befolgen. Lese dir jedes Wort durch und schließe deinen Browser erst, wenn alles läuft. Es heißt, dass es drei Schritte gibt, die den Nutzer verwirren können: +Die Webseite von StartSSL führt dich durch den Erstellungsprozess, aber manche Leute haben hier trotzdem Probleme. +Wir empfehlen dir ausdrücklich, die Installationsanleitung Schritt für Schritt langsam und sorgfältig zu befolgen. +Lese dir jedes Wort durch und schließe deinen Browser erst, wenn alles läuft. +Es heißt, dass es drei Schritte gibt, die den Nutzer verwirren können: -Wenn du dich erstmals bei StartSSL anmeldest, erhältst du ein erstes Zertifikat, dass sich einfach in deinem Browser installiert. Dieses Zertifikat solltest du zur Sicherheit irgendwo speichern, so dass du es für einen neuen Browser neu installieren kannst, wenn du z.B. etwas erneuern musst. Dieses Authentifizierungszertifikat wird nur für das Login benötigt und hat nichts mit dem Zertifikat zu tun, dass du später für deinen Server benötigst. Als Anfänger mit StartSSL kannst du [hier starten](https://www.startssl.com/?lang=de) und die "Express Lane" nutzen, um dein Browser-Zertifikiat zu erhalten. Im nächsten Schritt kannst du die Einrichtung deines Zertifikats fortsetzen. +Wenn du dich erstmals bei StartSSL anmeldest, erhältst du ein erstes Zertifikat, dass sich einfach in deinem Browser installiert. +Dieses Zertifikat solltest du zur Sicherheit irgendwo speichern, so dass du es für einen neuen Browser neu installieren kannst, wenn du z.B. etwas erneuern musst. +Dieses Authentifizierungszertifikat wird nur für das Login benötigt und hat nichts mit dem Zertifikat zu tun, dass du später für deinen Server benötigst. +Als Anfänger mit StartSSL kannst du [hier starten](https://www.startssl.com/?lang=de) und die "Express Lane" nutzen, um dein Browser-Zertifikiat zu erhalten. +Im nächsten Schritt kannst du die Einrichtung deines Zertifikats fortsetzen. -Wenn du zuerst nach einer Domain für dein Zertifikat gefragt wirst, musst du die Top-Level-Domain angeben, nicht die Subdomain, die Friendica nutzt. Im nächsten Schritt kannst du dann die Subdomain spezifizieren. Wenn du also friendica.deinName.de auf deinem Server hast, musst du zuerst deinName.de angeben. +Wenn du zuerst nach einer Domain für dein Zertifikat gefragt wirst, musst du die Top-Level-Domain angeben, nicht die Subdomain, die Friendica nutzt. +Im nächsten Schritt kannst du dann die Subdomain spezifizieren. +Wenn du also friendica.deinName.de auf deinem Server hast, musst du zuerst deinName.de angeben. -Höre nicht zu früh auf, wenn du am Ende der Einrichtung dein persönliches Server-Zertifikat erhalten hast. Abhängig von deiner Server-Software benötigst du ein oder zwei generische Dateien, die du mit deinem kostenlosen StartSSL-Zertifikat nutzen musst. Diese Dateien sind sub.class1.server.ca.pem und ca.pem. Wenn du diesen Schritt bereits übersprungen hast, kannst du die Dateien hier finden: [http://www.startssl.com/?app=21](http://www.startssl.com/?app=21). Aber am besten funktioniert es, wenn du StartSSL nicht beendest, bevor du den Vorgang komplett abgeschlossen hast und dein https-Zertifikat hochgeladen ist und funktioniert. +Höre nicht zu früh auf, wenn du am Ende der Einrichtung dein persönliches Server-Zertifikat erhalten hast. +Abhängig von deiner Server-Software benötigst du ein oder zwei generische Dateien, die du mit deinem kostenlosen StartSSL-Zertifikat nutzen musst. +Diese Dateien sind sub.class1.server.ca.pem und ca.pem. +Wenn du diesen Schritt bereits übersprungen hast, kannst du die Dateien hier finden: [http://www.startssl.com/?app=21](http://www.startssl.com/?app=21). +Aber am besten funktioniert es, wenn du StartSSL nicht beendest, bevor du den Vorgang komplett abgeschlossen hast und dein https-Zertifikat hochgeladen ist und funktioniert. **Virtuelle private und dedizierte Server (mit StartSSL free)** -Der Rest dieses Dokuments ist etwas komplizierter, aber es ist auch nur für Personen, die Friendica auf einem virtuellen oder dedizierten Server nutzen. Jeder andere kann an dieser Stelle mit dem Lesen aufhören. +Der Rest dieses Dokuments ist etwas komplizierter, aber es ist auch nur für Personen, die Friendica auf einem virtuellen oder dedizierten Server nutzen. +Jeder andere kann an dieser Stelle mit dem Lesen aufhören. Folge den weiteren Anleitungen [hier](http://www.startssl.com/?app=20), um den Webserver, den du benutzt (z.B. Apache), für dein Zertifikat einzurichten. -Um die nötigen Schritte zu verdeutlichen, setzen wir nun voraus, dass Apache aktiv ist. Im Wesentlichen kannst du einfach einen zweiten httpd.conf-Eintrag für Friendica erstellen. +Um die nötigen Schritte zu verdeutlichen, setzen wir nun voraus, dass Apache aktiv ist. +Im Wesentlichen kannst du einfach einen zweiten httpd.conf-Eintrag für Friendica erstellen. Um das zu machen, kopiere den existierenden Eintrag und ändere das Ende der ersten Zeile auf "lesen" :443> anstelle von :80> und trage dann die folgenden Zeilen ein, wie du es auch in der Anleitung von StartSSL finden kannst: @@ -59,17 +86,27 @@ Um das zu machen, kopiere den existierenden Eintrag und ändere das Ende der ers CustomLog /usr/local/apache/logs/ssl_request_log \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" -(Beachte, dass das Verzeichnis /usr/local/apache/conf/ möglicherweise nicht in deinem System existiert. In Debian ist der Pfad bspw. /etc/apache2/, in dem du ein SSL-Unterverzeichnis erstellen kannst, wenn dieses noch nicht vorhanden ist. Dann hast du /etc/apache2/ssl/… statt /usr/local/apache/conf/…) +(Beachte, dass das Verzeichnis /usr/local/apache/conf/ möglicherweise nicht in deinem System existiert. +In Debian ist der Pfad bspw. /etc/apache2/, in dem du ein SSL-Unterverzeichnis erstellen kannst, wenn dieses noch nicht vorhanden ist. +Dann hast du /etc/apache2/ssl/… statt /usr/local/apache/conf/…) Du solltest nun zwei Einträgen für deine Friendica-Seite haben - einen für einfaches http und eines für https. -Ein Hinweis für diejenigen, die SSL steuern wollen: setze keine Weiterleitung deines SSL in deine Apache-Einstellung. Friendicas Admin-Panel hat eine spezielle Einstellung für die SSL-Methode. Bitte nutze diese Einstellungen. +Ein Hinweis für diejenigen, die SSL steuern wollen: setze keine Weiterleitung deines SSL in deine Apache-Einstellung. Friendicas Admin-Panel hat eine spezielle Einstellung für die SSL-Methode. +Bitte nutze diese Einstellungen. **Vermische Zertifikate in Apache – StartSSL und andere (selbst-signierte)** -Viele Leute nutzen einen virtuellen privaten oder einen dedizierten Server, um mehr als Friendica darauf laufen zu lassen. Sie wollen möglicherweise SSL auch für andere Seiten nutzen, die auf dem Server liegen. Um das zu erreichen, wollen sie mehrere Zertifikate für eine IP nutzen, z.B. ein Zertifikat eines anerkannten Anbieters für Friendica und ein selbst-signiertes für eine persönliche Inhalte (möglw. ein Wildcard-Zertifikat für mehrere Subdomains). +Viele Leute nutzen einen virtuellen privaten oder einen dedizierten Server, um mehr als Friendica darauf laufen zu lassen. +Sie wollen möglicherweise SSL auch für andere Seiten nutzen, die auf dem Server liegen. +Um das zu erreichen, wollen sie mehrere Zertifikate für eine IP nutzen, z.B. ein Zertifikat eines anerkannten Anbieters für Friendica und ein selbst-signiertes für eine persönliche Inhalte (möglw. ein Wildcard-Zertifikat für mehrere Subdomains). -Um das zum Laufen zu bringen, bietet Apache eine NameVirtualHost-Direktive. Du findest Informationen zur Nutzung in httpd.conf in den folgenden Ausschnitten. Beachte, dass Wildcards (*) in httpd.conf dazu führen, dass die NameVirtualHost-Methode nicht funktioniert; du kannst diese in dieser neuen Konfiguration nicht nutzen. Das bedeutet, dass *80> oder *443> nicht funktionieren. Und du musst unbedingt die IP definieren, selbst wenn du nur eine hast. Beachte außerdem, dass du bald zwei Zeilen zu Beginn der Datei hinzufügen musst, um NameVirtualHost für IPv6 vorzubereiten. +Um das zum Laufen zu bringen, bietet Apache eine NameVirtualHost-Direktive. +Du findest Informationen zur Nutzung in httpd.conf in den folgenden Ausschnitten. +Beachte, dass Wildcards (*) in httpd.conf dazu führen, dass die NameVirtualHost-Methode nicht funktioniert; du kannst diese in dieser neuen Konfiguration nicht nutzen. +Das bedeutet, dass *80> oder *443> nicht funktionieren. +Und du musst unbedingt die IP definieren, selbst wenn du nur eine hast. +Beachte außerdem, dass du bald zwei Zeilen zu Beginn der Datei hinzufügen musst, um NameVirtualHost für IPv6 vorzubereiten. NameVirtualHost 12.123.456.1:443 NameVirtualHost 12.123.456.1:80 @@ -102,17 +139,25 @@ Um das zum Laufen zu bringen, bietet Apache eine NameVirtualHost-Direktive. Du f -Natürlich kannst du auch andere Verzeichnisse auf deinem Server nutzen, um Apache zu konfigurieren. In diesem Fall müssen nur einige Zeilen in httpd.conf oder ports.conf angepasst werden - vor allem die NameVirtualHost-Zeilen. Aber wenn du sicher im Umgang mit solchen Alternativen bist, wirst du sicherlich die nötigen Anpassungen herausfinden. +Natürlich kannst du auch andere Verzeichnisse auf deinem Server nutzen, um Apache zu konfigurieren. +In diesem Fall müssen nur einige Zeilen in httpd.conf oder ports.conf angepasst werden - vor allem die NameVirtualHost-Zeilen. +Aber wenn du sicher im Umgang mit solchen Alternativen bist, wirst du sicherlich die nötigen Anpassungen herausfinden. Starte dein Apache abschließend neu. **StartSSL auf Nginx** -Führe zunächst ein Update auf den neuesten Friendica-Code durch. Folge dann der Anleitung oben, um dein kostenloses Zertifikat zu erhalten. Aber statt der Apache-Installationsanleitung zu folgen, mache das Folgende: +Führe zunächst ein Update auf den neuesten Friendica-Code durch. +Folge dann der Anleitung oben, um dein kostenloses Zertifikat zu erhalten. +Aber statt der Apache-Installationsanleitung zu folgen, mache das Folgende: -Lade dein Zertifikat hoch. Es ist nicht wichtig, wohin du es lädst, solange Nginx es finden kann. Einige Leute nutzen /home/verschiedeneNummernundBuchstaben, du kannst aber auch z.B. etwas wie /foo/bar nutzen. +Lade dein Zertifikat hoch. +Es ist nicht wichtig, wohin du es lädst, solange Nginx es finden kann. +Einige Leute nutzen /home/verschiedeneNummernundBuchstaben, du kannst aber auch z.B. etwas wie /foo/bar nutzen. -Du kannst das Passwort entfernen, wenn du willst. Es ist zwar möglicherweise nicht die beste Wahl, aber wenn du es nicht machst, wirst du das Passwort immer wieder eingeben müssen, wenn du Ngingx neustartest. Um es zu entfernen, gebe Folgendes ein: +Du kannst das Passwort entfernen, wenn du willst. +Es ist zwar möglicherweise nicht die beste Wahl, aber wenn du es nicht machst, wirst du das Passwort immer wieder eingeben müssen, wenn du Ngingx neustartest. +Um es zu entfernen, gebe Folgendes ein: openssl rsa -in ssl.key-pass -out ssl.key @@ -124,7 +169,8 @@ Nun vereinige die Dateien: cat ssl.crt sub.class1.server.ca.pem > ssl.crt -In manchen Konfigurationen ist ein Bug enthalten, weshalb diese Schritte nicht ordentlich arbeiten. Du musst daher ggf. ssl.crt bearbeiten: +In manchen Konfigurationen ist ein Bug enthalten, weshalb diese Schritte nicht ordentlich arbeiten. +Du musst daher ggf. ssl.crt bearbeiten: nano /foo/bar/ssl.crt @@ -138,7 +184,9 @@ Das ist schlecht. Du brauchst die folgenden Einträge: -----BEGIN CERTIFICATE----- -Du kannst den Zeilenumbruch manuell eingeben, falls dein System vom Bug betroffen ist. Beachte, dass nach -----BEGIN CERTIFICATE----- nur ein Zeilenumbruch ist. Es gibt keine leere Zeile zwischen beiden Einträgen. +Du kannst den Zeilenumbruch manuell eingeben, falls dein System vom Bug betroffen ist. +Beachte, dass nach -----BEGIN CERTIFICATE----- nur ein Zeilenumbruch ist. +Es gibt keine leere Zeile zwischen beiden Einträgen. Nun musst du Nginx über die Zertifikate informieren. @@ -166,4 +214,5 @@ Nun starte Nginx neu: Und das war es schon. -Für multiple Domains ist es mit Nginx einfacher als mit Apache. Du musst du oben genannten Schritte nur für jedes Zertifikat wiederholen und die spezifischen Informationen im eigenen {server...}-Bereich spezifizieren. \ No newline at end of file +Für multiple Domains ist es mit Nginx einfacher als mit Apache. +Du musst du oben genannten Schritte nur für jedes Zertifikat wiederholen und die spezifischen Informationen im eigenen {server...}-Bereich spezifizieren. diff --git a/doc/de/Settings.md b/doc/de/Settings.md index 68a6c89f8..6bc238e26 100644 --- a/doc/de/Settings.md +++ b/doc/de/Settings.md @@ -3,7 +3,10 @@ Konfigurationen * [Zur Startseite der Hilfe](help) -Hier findest du einige eingebaute Features, welche kein graphisches Interface haben oder nicht dokumentiert sind. Konfigurationseinstellungen sind in der Datei ".htconfig.php" gespeichert. Bearbeite diese Datei, indem du sie z.B. mit einem Texteditor öffnest. Verschiedene Systemeinstellungen sind bereits in dieser Datei dokumentiert und werden hier nicht weiter erklärt. +Hier findest du einige eingebaute Features, welche kein graphisches Interface haben oder nicht dokumentiert sind. +Konfigurationseinstellungen sind in der Datei ".htconfig.php" gespeichert. +Bearbeite diese Datei, indem du sie z.B. mit einem Texteditor öffnest. +Verschiedene Systemeinstellungen sind bereits in dieser Datei dokumentiert und werden hier nicht weiter erklärt. **Tastaturbefehle** @@ -16,7 +19,9 @@ Friendica erfasst die folgenden Tastaturbefehle: **Geburtstagsbenachrichtigung** -Geburtstage erscheinen auf deiner Startseite für alle Freunde, die in den nächsten 6 Tagen Geburtstag haben. Um deinen Geburtstag für alle sichtbar zu machen, musst du deinen Geburtstag (zumindest Tag und Monat) in dein Standardprofil eintragen. Es ist nicht notwendig, das Jahr einzutragen. +Geburtstage erscheinen auf deiner Startseite für alle Freunde, die in den nächsten 6 Tagen Geburtstag haben. +Um deinen Geburtstag für alle sichtbar zu machen, musst du deinen Geburtstag (zumindest Tag und Monat) in dein Standardprofil eintragen. +Es ist nicht notwendig, das Jahr einzutragen. **Konfigurationseinstellungen** @@ -49,7 +54,13 @@ $a->config['system']['theme'] = 'theme-name'; Sicherheitseinstellungen -Standardmäßig erlaubt Friendica SSL-Kommunikation von Seiten, die "selbstunterzeichnete" SSL-Zertifikate nutzen. Um eine weitreichende Kompatibilität mit anderen Netzwerken und Browsern zu gewährleisten, empfehlen wir, selbstunterzeichnete Zertifikate **nicht** zu nutzen. Aber wir halten dich nicht davon ab, solche zu nutzen. SSL verschlüsselt alle Daten zwischen den Webseiten (und für deinen Browser), was dir eine komplett verschlüsselte Kommunikation erlaubt. Auch schützt es deine Login-Daten vor Datendiebstahl. Selbstunterzeichnete Zertifikate können kostenlos erstellt werden. Diese Zertifikate können allerdings Opfer eines sogenannten ["man-in-the-middle"-Angriffs](http://de.wikipedia.org/wiki/Man-in-the-middle-Angriff) werden, und sind daher weniger bevorzugt. Wenn du es wünscht, kannst du eine strikte Zertifikatabfrage einstellen. Das führt dazu, dass du keinerlei Verbindung zu einer selbstunterzeichneten SSL-Seite erstellen kannst +Standardmäßig erlaubt Friendica SSL-Kommunikation von Seiten, die "selbstunterzeichnete" SSL-Zertifikate nutzen. +Um eine weitreichende Kompatibilität mit anderen Netzwerken und Browsern zu gewährleisten, empfehlen wir, selbstunterzeichnete Zertifikate **nicht** zu nutzen. +Aber wir halten dich nicht davon ab, solche zu nutzen. SSL verschlüsselt alle Daten zwischen den Webseiten (und für deinen Browser), was dir eine komplett verschlüsselte Kommunikation erlaubt. +Auch schützt es deine Login-Daten vor Datendiebstahl. Selbstunterzeichnete Zertifikate können kostenlos erstellt werden. +Diese Zertifikate können allerdings Opfer eines sogenannten ["man-in-the-middle"-Angriffs](http://de.wikipedia.org/wiki/Man-in-the-middle-Angriff) werden, und sind daher weniger bevorzugt. +Wenn du es wünscht, kannst du eine strikte Zertifikatabfrage einstellen. +Das führt dazu, dass du keinerlei Verbindung zu einer selbstunterzeichneten SSL-Seite erstellen kannst Konfiguriere: ``` @@ -61,7 +72,8 @@ $a->config['system']['verifyssl'] = true; Kooperationen/Gemeinschaften/Bildung Erweiterung -Kommagetrennte Liste von Domains, welche eine Freundschaft mit dieser Seite eingehen dürfen. Wildcards werden akzeptiert (Wildcard-Unterstützung unter Windows benötigt PHP5.3) Standardmäßig sind alle gültigen Domains erlaubt. +Kommagetrennte Liste von Domains, welche eine Freundschaft mit dieser Seite eingehen dürfen. +Wildcards werden akzeptiert (Wildcard-Unterstützung unter Windows benötigt PHP5.3) Standardmäßig sind alle gültigen Domains erlaubt. Konfiguriere: ``` @@ -73,7 +85,9 @@ $a->config['system']['allowed_sites'] = "sitea.com, *siteb.com"; Kooperationen/Gemeinschaften/Bildung Erweiterung -Kommagetrennte Liste von Domains, welche bei der Registrierung als Part der Email-Adresse erlaubt sind. Das grenzt Leute aus, die nicht Teil der Gruppe oder Organisation sind. Wildcards werden akzeptiert (Wildcard-Unterstützung unter Windows benötigt PHP5.3) Standardmäßig sind alle gültigen Email-Adressen erlaubt. +Kommagetrennte Liste von Domains, welche bei der Registrierung als Part der Email-Adresse erlaubt sind. +Das grenzt Leute aus, die nicht Teil der Gruppe oder Organisation sind. +Wildcards werden akzeptiert (Wildcard-Unterstützung unter Windows benötigt PHP5.3) Standardmäßig sind alle gültigen Email-Adressen erlaubt. Konfiguriere: ``` @@ -84,7 +98,14 @@ $a->config['system']['allowed_email'] = "sitea.com, *siteb.com"; Kooperationen/Gemeinschaften/Bildung Erweiterung -Setze diese Einstellung auf "true" und sperre den öffentlichen Zugriff auf alle Seiten, solange man nicht eingeloggt ist. Das blockiert die Ansicht von Profilen, Freunden, Fotos, vom Verzeichnis und den Suchseiten. Ein Nebeneffekt ist, dass Einträge dieser Seite nicht im globalen Verzeichnis erscheinen. Wir empfehlen, speziell diese Einstellung auszuschalten (die Einstellung ist an anderer Stelle auf dieser Seite erklärt). Beachte: das ist speziell für Seiten, die beabsichtigen, von anderen Friendica-Netzwerken abgeschottet zu sein. Unautorisierte Personen haben ebenfalls nicht die Möglichkeit, Freundschaftsanfragen von Seitennutzern zu beantworten. Die Standardeinstellung steht auf "false". Verfügbar in Version 2.2 und höher. +Setze diese Einstellung auf "true" und sperre den öffentlichen Zugriff auf alle Seiten, solange man nicht eingeloggt ist. +Das blockiert die Ansicht von Profilen, Freunden, Fotos, vom Verzeichnis und den Suchseiten. +Ein Nebeneffekt ist, dass Einträge dieser Seite nicht im globalen Verzeichnis erscheinen. +Wir empfehlen, speziell diese Einstellung auszuschalten (die Einstellung ist an anderer Stelle auf dieser Seite erklärt). +Beachte: das ist speziell für Seiten, die beabsichtigen, von anderen Friendica-Netzwerken abgeschottet zu sein. +Unautorisierte Personen haben ebenfalls nicht die Möglichkeit, Freundschaftsanfragen von Seitennutzern zu beantworten. +Die Standardeinstellung steht auf "false". +Verfügbar in Version 2.2 und höher. Konfiguriere: ``` @@ -96,7 +117,9 @@ $a->config['system']['block_public'] = true; Kooperationen/Gemeinschaften/Bildung Erweiterung -Standardmäßig können Nutzer selbst auswählen, ob ihr Profil im Seitenverzeichnis erscheint. Diese Einstellung zwingt alle Nutzer dazu, im Verzeichnis zu erscheinen. Diese Einstellung kann vom Nutzer nicht deaktiviert werden. Die Standardeinstellung steht auf "false". +Standardmäßig können Nutzer selbst auswählen, ob ihr Profil im Seitenverzeichnis erscheint. +Diese Einstellung zwingt alle Nutzer dazu, im Verzeichnis zu erscheinen. +Diese Einstellung kann vom Nutzer nicht deaktiviert werden. Die Standardeinstellung steht auf "false". Konfiguriere: ``` @@ -108,7 +131,10 @@ $a->config['system']['publish_all'] = true; Kooperationen/Gemeinschaften/Bildung Erweiterung -Mit diesem Befehl wird die URL eingestellt, die zum Update des globalen Verzeichnisses genutzt wird. Dieser Befehl ist in der Standardkonfiguration enthalten. Der nichtdokumentierte Teil dieser Einstellung ist, dass das globale Verzeichnis gar nicht verfügbar ist, wenn diese Einstellung nicht gesetzt wird. Dies erlaubt eine private Kommunikation, die komplett vom globalen Verzeichnis isoliert ist. +Mit diesem Befehl wird die URL eingestellt, die zum Update des globalen Verzeichnisses genutzt wird. +Dieser Befehl ist in der Standardkonfiguration enthalten. +Der nichtdokumentierte Teil dieser Einstellung ist, dass das globale Verzeichnis gar nicht verfügbar ist, wenn diese Einstellung nicht gesetzt wird. +Dies erlaubt eine private Kommunikation, die komplett vom globalen Verzeichnis isoliert ist. Konfiguriere: ``` @@ -129,9 +155,11 @@ $a->config['system']['proxyuser'] = "username:password"; **Netzwerk-Timeout** -Legt fest, wie lange das Netzwerk warten soll, bevor ein Timeout eintritt. Der Wert wird in Sekunden angegeben. Standardmäßig ist 60 eingestellt; 0 steht für "unbegrenzt" (nicht empfohlen). +Legt fest, wie lange das Netzwerk warten soll, bevor ein Timeout eintritt. +Der Wert wird in Sekunden angegeben. Standardmäßig ist 60 eingestellt; 0 steht für "unbegrenzt" (nicht empfohlen). Konfiguriere: + ``` $a->config['system']['curl_timeout'] = 60; ``` @@ -139,9 +167,11 @@ $a->config['system']['curl_timeout'] = 60; **Banner/Logo** -Hiermit legst du das Banner der Seite fest. Standardmäßig ist das Friendica-Logo und der Name festgelegt. Du kannst hierfür HTML/CSS nutzen, um den Inhalt zu gestalten und/oder die Position zu ändern, wenn es nicht bereits voreingestellt ist. +Hiermit legst du das Banner der Seite fest. Standardmäßig ist das Friendica-Logo und der Name festgelegt. +Du kannst hierfür HTML/CSS nutzen, um den Inhalt zu gestalten und/oder die Position zu ändern, wenn es nicht bereits voreingestellt ist. Konfiguriere: + ``` $a->config['system']['banner'] = 'Meine tolle Webseite'; ``` @@ -152,6 +182,7 @@ $a->config['system']['banner'] = 'Meine tolle Webseiteconfig['system']['maximagesize'] = 1000000; ``` @@ -159,9 +190,13 @@ $a->config['system']['maximagesize'] = 1000000; **UTF-8 Reguläre Ausdrücke** -Während der Registrierung werden die Namen daraufhin geprüft, ob sie reguläre UTF-8-Ausdrücke nutzen. Hierfür wird PHP benötigt, um mit einer speziellen Einstellung kompiliert zu werden, die UTF-8-Ausdrücke benutzt. Wenn du absolut keine Möglichkeit hast, Accounts zu registrieren, setze den Wert von "no_utf" auf "true". Standardmäßig ist "false" eingestellt (das bedeutet, dass UTF-8-Ausdrücke unterstützt werden und funktionieren). +Während der Registrierung werden die Namen daraufhin geprüft, ob sie reguläre UTF-8-Ausdrücke nutzen. +Hierfür wird PHP benötigt, um mit einer speziellen Einstellung kompiliert zu werden, die UTF-8-Ausdrücke benutzt. +Wenn du absolut keine Möglichkeit hast, Accounts zu registrieren, setze den Wert von "no_utf" auf "true". +Standardmäßig ist "false" eingestellt (das bedeutet, dass UTF-8-Ausdrücke unterstützt werden und funktionieren). Konfiguriere: + ``` $a->config['system']['no_utf'] = true; ``` @@ -169,9 +204,13 @@ $a->config['system']['no_utf'] = true; **Prüfe vollständigen Namen** -Es kann vorkommen, dass viele Spammer versuchen, sich auf deiner Seite zu registrieren. In Testphasen haben wir festgestellt, dass diese automatischen Registrierungen das Feld "Vollständiger Name" oft nur mit Namen ausfüllen, die kein Leerzeichen beinhalten. Wenn du Leuten erlauben willst, sich nur mit einem Namen anzumelden, dann setze die Einstellung auf "true". Die Standardeinstellung ist auf "false" gesetzt. +Es kann vorkommen, dass viele Spammer versuchen, sich auf deiner Seite zu registrieren. +In Testphasen haben wir festgestellt, dass diese automatischen Registrierungen das Feld "Vollständiger Name" oft nur mit Namen ausfüllen, die kein Leerzeichen beinhalten. +Wenn du Leuten erlauben willst, sich nur mit einem Namen anzumelden, dann setze die Einstellung auf "true". +Die Standardeinstellung ist auf "false" gesetzt. Konfiguriere: + ``` $a->config['system']['no_regfullname'] = true; ``` @@ -179,7 +218,9 @@ $a->config['system']['no_regfullname'] = true; **OpenID** -Standardmäßig wird OpenID für die Registrierung und für Logins genutzt. Wenn du nicht willst, dass OpenID-Strukturen für dein System übernommen werden, dann setze "no_openid" auf "true". Standardmäßig ist hier "false" gesetzt. +Standardmäßig wird OpenID für die Registrierung und für Logins genutzt. +Wenn du nicht willst, dass OpenID-Strukturen für dein System übernommen werden, dann setze "no_openid" auf "true". +Standardmäßig ist hier "false" gesetzt. Konfiguriere: ``` @@ -189,7 +230,12 @@ $a->config['system']['no_openid'] = true; **Multiple Registrierungen** -Um mehrfache Seiten zu erstellen, muss sich eine Person mehrfach registrieren können. Deine Seiteneinstellung kann Registrierungen komplett blockieren oder an Bedingungen knüpfen. Standardmäßig können eingeloggte Nutzer weitere Accounts für die Seitenerstellung registrieren. Hier ist weiterhin eine Bestätigung notwendig, wenn "REGISTER_APPROVE" ausgewählt ist. Wenn du die Erstellung weiterer Accounts blockieren willst, dann setze die Einstellung "block_extended_register" auf "true". Standardmäßig ist hier "false" gesetzt. +Um mehrfache Seiten zu erstellen, muss sich eine Person mehrfach registrieren können. +Deine Seiteneinstellung kann Registrierungen komplett blockieren oder an Bedingungen knüpfen. +Standardmäßig können eingeloggte Nutzer weitere Accounts für die Seitenerstellung registrieren. +Hier ist weiterhin eine Bestätigung notwendig, wenn "REGISTER_APPROVE" ausgewählt ist. +Wenn du die Erstellung weiterer Accounts blockieren willst, dann setze die Einstellung "block_extended_register" auf "true". +Standardmäßig ist hier "false" gesetzt. Konfiguriere: ``` @@ -207,7 +253,9 @@ $a->config['system']['debugging'] = true; $a->config['system']['logfile'] = 'logfile.out'; $a->config['system']['loglevel'] = LOGGER_DEBUG; ``` -Erstellt detaillierte Debugging-Logfiles, die in der Datei "logfile.out" gespeichert werden (Datei muss auf dem Server mit Schreibrechten versehen sein). "LOGGER_DEBUG" zeigt eine Menge an Systeminformationen, enthält aber keine detaillierten Daten. Du kannst ebenfalls "LOGGER_ALL" auswählen, allerdings empfehlen wir dieses nur, wenn ein spezifisches Problem eingegrenzt werden soll. Andere Log-Level sind möglich, werden aber derzeit noch nicht genutzt. +Erstellt detaillierte Debugging-Logfiles, die in der Datei "logfile.out" gespeichert werden (Datei muss auf dem Server mit Schreibrechten versehen sein). "LOGGER_DEBUG" zeigt eine Menge an Systeminformationen, enthält aber keine detaillierten Daten. +Du kannst ebenfalls "LOGGER_ALL" auswählen, allerdings empfehlen wir dieses nur, wenn ein spezifisches Problem eingegrenzt werden soll. +Andere Log-Level sind möglich, werden aber derzeit noch nicht genutzt. **PHP-Fehler-Logging** @@ -222,5 +270,9 @@ ini_set('log_errors','1'); ini_set('display_errors', '0'); ``` -Diese Befehle erfassen alle PHP-Fehler in der Datei "php.out" (Datei muss auf dem Server mit Schreibrechten versehen sein). Nicht deklarierte Variablen werden manchmal mit einem Verweis versehen, weshalb wir empfehlen, "E_NOTICE" und "E_ALL" nicht zu nutzen. Die Menge an Fehlern, die auf diesem Level gemeldet werden, ist komplett harmlos. Bitte informiere die Entwickler über alle Fehler, die du in deinen Log-Dateien mit den oben genannten Einstellungen erhältst. Sie weisen generell auf Fehler in, die bearbeitet werden müssen. +Diese Befehle erfassen alle PHP-Fehler in der Datei "php.out" (Datei muss auf dem Server mit Schreibrechten versehen sein). +Nicht deklarierte Variablen werden manchmal mit einem Verweis versehen, weshalb wir empfehlen, "E_NOTICE" und "E_ALL" nicht zu nutzen. +Die Menge an Fehlern, die auf diesem Level gemeldet werden, ist komplett harmlos. +Bitte informiere die Entwickler über alle Fehler, die du in deinen Log-Dateien mit den oben genannten Einstellungen erhältst. +Sie weisen generell auf Fehler in, die bearbeitet werden müssen. Wenn du eine leere (weiße) Seite erhältst, schau in die PHP-Log-Datei - dies deutet fast immer darauf hin, dass ein Fehler aufgetreten ist. diff --git a/doc/de/Tags-and-Mentions.md b/doc/de/Tags-and-Mentions.md index 0aef0beae..c085db7f4 100644 --- a/doc/de/Tags-and-Mentions.md +++ b/doc/de/Tags-and-Mentions.md @@ -20,15 +20,24 @@ Personen, die in einem anderen Netzwerk sind oder die sich **NICHT in deiner Kon * @mike@macgirvin.com - diese Schreibweise wird "Fernerwähnung" (remote mention)genannt und kann nur im Email-Stil geschrieben werden, nicht als Internetadresse/URL. -Wenn das System ungewollte Erwähnungen nicht blockiert, erhält diese Person eine Mitteilung oder nimmt direkt an der Diskussion teil, wenn es sich um einen öffentlichen Beitrag handelt. Bitte beachte, dass Friendica eingehende "Erwähnungs"-Nachrichten von Personen blockt, die du nicht zu deinem Profil hinzugefügt hast. Diese Maßnahme dient dazu, Spam zu vermeiden. +Wenn das System ungewollte Erwähnungen nicht blockiert, erhält diese Person eine Mitteilung oder nimmt direkt an der Diskussion teil, wenn es sich um einen öffentlichen Beitrag handelt. +Bitte beachte, dass Friendica eingehende "Erwähnungs"-Nachrichten von Personen blockt, die du nicht zu deinem Profil hinzugefügt hast. +Diese Maßnahme dient dazu, Spam zu vermeiden. -"Fernerwähnungen" werden durch das OStatus-Protokoll übermittelt. Dieses Protokoll wird von Friendica, StatusNet und anderen Systemen genutzt, ist allerdings derzeit nicht in Diaspora eingebaut. +"Fernerwähnungen" werden durch das OStatus-Protokoll übermittelt. +Dieses Protokoll wird von Friendica, StatusNet und anderen Systemen genutzt, ist allerdings derzeit nicht in Diaspora eingebaut. Friendica unterscheidet bei Tags nicht zwischen Personen und Gruppen (einige andere Netzwerke nutzen "!gruppe", um solche zu markieren). **Thematische Tags** -Thematische Tags werden durch eine "#" gekennzeichnet. Dieses Zeichen erstellen einen Link zur allgemeinen Seitensuche mit dem ausgewählten Begriff. So wird z.B. #Autos zu einer Suche führen, die alle Beiträge deiner Seite umfasst, die dieses Wort erwähnen. Thematische Tags haben generell eine Mindestlänge von 3 Stellen. Kürzere Suchbegriffe finden meist keine Suchergebnisse, wobei dieses abhängig von der Datenbankeinstellung ist. Tags mit einem Leerzeichen werden, wie es auch bei Namen der Fall ist, durch einen Unterstrich gekennzeichnet. Es ist hingegen nicht möglich, Tags zu erstellen, deren gesuchtes Wort einen Unterstrich enthält. +Thematische Tags werden durch eine "#" gekennzeichnet. +Dieses Zeichen erstellen einen Link zur allgemeinen Seitensuche mit dem ausgewählten Begriff. +So wird z.B. #Autos zu einer Suche führen, die alle Beiträge deiner Seite umfasst, die dieses Wort erwähnen. +Thematische Tags haben generell eine Mindestlänge von 3 Stellen. +Kürzere Suchbegriffe finden meist keine Suchergebnisse, wobei dieses abhängig von der Datenbankeinstellung ist. +Tags mit einem Leerzeichen werden, wie es auch bei Namen der Fall ist, durch einen Unterstrich gekennzeichnet. +Es ist hingegen nicht möglich, Tags zu erstellen, deren gesuchtes Wort einen Unterstrich enthält. Thematische Tags werden auch dann nicht verlinkt, wenn sie nur aus Nummern bestehen, wie z.B. #1. Wenn du einen numerischen Tag nutzen willst, füge bitte einen Beschreibungstext hinzu wie z.B. #2012_Wahl. diff --git a/doc/de/Text_comment.md b/doc/de/Text_comment.md index 5c3d3d4e4..88e5e0b11 100644 --- a/doc/de/Text_comment.md +++ b/doc/de/Text_comment.md @@ -3,35 +3,49 @@ Beiträge kommentieren, einordnen und löschen * [Zur Startseite der Hilfe](help) -Hier findest du eine Übersicht über die verschiedenen Möglichkeiten, bestehende Beiträge einzuordnen und zu kommentieren. Achtung: für dieses Beispiel wurde das Thema "Diabook" genutzt. Wenn du ein anderes Design benutzt, wirst du manche dieser Symbole gar nicht oder in anderer Form vorfinden. +Hier findest du eine Übersicht über die verschiedenen Möglichkeiten, bestehende Beiträge einzuordnen und zu kommentieren. + +Achtung: für dieses Beispiel wurde das Thema "Diabook" genutzt. +Wenn du ein anderes Design benutzt, wirst du manche dieser Symbole gar nicht oder in anderer Form vorfinden. diabook Die einzelnen Symbole -post_thumbs_up.png Mit diesem Symbol kannst du zeigen, dass dir ein Beitrag gefällt. Falls du diese Eingabe zurücknehmen willst, klicke einfach ein zweites Mal auf das Symbol. +post_thumbs_up.png Mit diesem Symbol kannst du zeigen, dass dir ein Beitrag gefällt. +Falls du diese Eingabe zurücknehmen willst, klicke einfach ein zweites Mal auf das Symbol.

-post_thumbs_down.png Mit diesem Symbol kannst du zeigen, dass dir ein Beitrag nicht gefällt. Falls du diese Eingabe zurücknehmen willst, klicke einfach ein zweites Mal auf das Symbol. +post_thumbs_down.png Mit diesem Symbol kannst du zeigen, dass dir ein Beitrag nicht gefällt. +Falls du diese Eingabe zurücknehmen willst, klicke einfach ein zweites Mal auf das Symbol.

-post_share.png Mit diesem Symbol kannst du einen Beitrag weiter verteilen. Einfach anklicken und sofort erscheint der Beitrag in deinem Beitragseditor. Am Ende des eingefügten Beitrags erscheint ein Link zum Originalbeitrag. +post_share.png Mit diesem Symbol kannst du einen Beitrag weiter verteilen. +Einfach anklicken und sofort erscheint der Beitrag in deinem Beitragseditor. +Am Ende des eingefügten Beitrags erscheint ein Link zum Originalbeitrag.

-post_mark.png Mit diesem Symbol kannst du einen Beitrag für dich markieren. Markierte Beiträge erscheinen in deiner Netzwerk-Seite unter "Markierte". Wenn du die Markierung entfernen willst, klicke einfach ein zweites Mal auf das Symbol. +post_mark.png Mit diesem Symbol kannst du einen Beitrag für dich markieren. +Markierte Beiträge erscheinen in deiner Netzwerk-Seite unter "Markierte". +Wenn du die Markierung entfernen willst, klicke einfach ein zweites Mal auf das Symbol.

-post_tag.png Mit diesem Symbol kannst du einen tag zum Beitrag hinzufügen und diesen so einem bestimmten Schlagwort zuzuordnen. Anschließend kannst du auf diesen tag klicken und alle Beiträge mit diesem tag ansehen. ACHTUNG: tags können nicht mehr entfernt werden. +post_tag.png Mit diesem Symbol kannst du einen tag zum Beitrag hinzufügen und diesen so einem bestimmten Schlagwort zuzuordnen. +Anschließend kannst du auf diesen tag klicken und alle Beiträge mit diesem tag ansehen. +ACHTUNG: tags können nicht mehr entfernt werden.

-post_categorize.png Mit diesem Symbol ist es möglich, die Beiträge in bestimmte Gruppen einzuordnen. Dies dient dazu, gewählte Beiträge nach eigenen Vorstellungen zu sortieren und wieder zu finden. Wähle eine vorhandene Gruppe oder gib einen neuen Namen ein. Die erstellten Gruppen findest du unter "Gespeicherte Ordner" in der Netzwerk-Ansicht. +post_categorize.png Mit diesem Symbol ist es möglich, die Beiträge in bestimmte Gruppen einzuordnen. +Dies dient dazu, gewählte Beiträge nach eigenen Vorstellungen zu sortieren und wieder zu finden. +Wähle eine vorhandene Gruppe oder gib einen neuen Namen ein. Die erstellten Gruppen findest du unter "Gespeicherte Ordner" in der Netzwerk-Ansicht.

post_delete.png Mit diesem Symbol löschst du deinen eigenen Beitrag bzw. entfernst einen Beitrag einer anderen Person aus deinem Stream.

-post_choose.png Mit diesem Symbol kannst du mehrere Beiträge auswählen und gesammelt löschen. Hierfür gehst du nach dem Markieren aller gewünschten Beiträge auf "Lösche die markierten Beiträge" am Ende der Seite mit allen Beiträgen. +post_choose.png Mit diesem Symbol kannst du mehrere Beiträge auswählen und gesammelt löschen. +Hierfür gehst du nach dem Markieren aller gewünschten Beiträge auf "Lösche die markierten Beiträge" am Ende der Seite mit allen Beiträgen.

**Im Folgenden findest du Symbole weiterer Themen** diff --git a/doc/de/Text_editor.md b/doc/de/Text_editor.md index 7425ba1ae..0d9fbb5c7 100644 --- a/doc/de/Text_editor.md +++ b/doc/de/Text_editor.md @@ -3,29 +3,43 @@ Beiträge erstellen * [Zur Startseite der Hilfe](help) -Hier findest du eine Übersicht über die verschiedenen Möglichkeiten, deinen Beitrag zu bearbeiten. Achtung: für dieses Beispiel wurde das Thema "Diabook" genutzt. Wenn du ein anderes Design benutzt, wirst du manche dieser Symbole gar nicht oder in anderer Form vorfinden. +Hier findest du eine Übersicht über die verschiedenen Möglichkeiten, deinen Beitrag zu bearbeiten. + +Achtung: für dieses Beispiel wurde das Thema "Diabook" genutzt. +Wenn du ein anderes Design benutzt, wirst du manche dieser Symbole gar nicht oder in anderer Form vorfinden. editor Die einzelnen Symbole -editor Wenn du auf dieses Symbol klickst, dann kannst du ein Bild von deinem Computer hinzufügen. Wenn du eine Internetadresse (URL) eingeben willst, dann kannst du das "Baum"-Symbol im oberen Teil des Editors nutzen. Wenn du ein Bild ausgewählt hast, dann erscheint eine Miniaturdarstellung des Bildes im Editor.* +editor Wenn du auf dieses Symbol klickst, dann kannst du ein Bild von deinem Computer hinzufügen. +Wenn du eine Internetadresse (URL) eingeben willst, dann kannst du das "Baum"-Symbol im oberen Teil des Editors nutzen. +Wenn du ein Bild ausgewählt hast, dann erscheint eine Miniaturdarstellung des Bildes im Editor.*

paper_clip Wenn du dieses Symbol anklickst, dann kannst du weitere Dateien von deinem Computer einfügen. Eine Vorschau des Dateiinhalts erfolgt nicht.*

-chain Wenn du die Kette anklickst, dann kannst du eine Internetadresse (URL) einfügen. Im Editor erscheint automatisch eine kurze Information zum eingefügten Link.* +chain Wenn du die Kette anklickst, dann kannst du eine Internetadresse (URL) einfügen. +Im Editor erscheint automatisch eine kurze Information zum eingefügten Link.*

-video Mit dieser Funktion kannst du die Internetadresse (URL) einer Videodatei einfügen. Das Video erscheint dann mit einem Player in deinem Beitrag. Da Friendica zur Einbindung [HTML5](http://en.wikipedia.org/wiki/HTML5_video) verwendet, werden je nach Browser verschiedene Videoformate unterstützt (z.B. WebM oder MP4). Außerdem kannst du hier die URLs von Videos auf Youtube, Vimeo und manchen anderen Videohostern eingeben. Die Videos werden dann mit Vorschaubild angezeigt, nach einem Klick öffnet sich ein eingebetteter Player.* +video Mit dieser Funktion kannst du die Internetadresse (URL) einer Videodatei einfügen. +Das Video erscheint dann mit einem Player in deinem Beitrag. +Da Friendica zur Einbindung [HTML5](http://en.wikipedia.org/wiki/HTML5_video) verwendet, werden je nach Browser verschiedene Videoformate unterstützt (z.B. WebM oder MP4). +Außerdem kannst du hier die URLs von Videos auf Youtube, Vimeo und manchen anderen Videohostern eingeben. +Die Videos werden dann mit Vorschaubild angezeigt, nach einem Klick öffnet sich ein eingebetteter Player.*

-mic Mit dieser Funktion kannst du die Internetadresse (URL) einer Sound-Datei einfügen. Da Friendica zur Einbindung [HTML5](http://en.wikipedia.org/wiki/HTML5_video) verwendet, werden je nach Browser und Betriebssystem MP3, Ogg oder AAC unterstützt. Außerdem kannst du hier auch URLs von manchen Audiohostern wie Soundcloud eingeben, um eine dort gespeicherte Audiodatei mit Player in deinem Beitrag anzuzeigen.* +mic Mit dieser Funktion kannst du die Internetadresse (URL) einer Sound-Datei einfügen. +Da Friendica zur Einbindung [HTML5](http://en.wikipedia.org/wiki/HTML5_video) verwendet, werden je nach Browser und Betriebssystem MP3, Ogg oder AAC unterstützt. +Außerdem kannst du hier auch URLs von manchen Audiohostern wie Soundcloud eingeben, um eine dort gespeicherte Audiodatei mit Player in deinem Beitrag anzuzeigen.*

-globe Wenn du dieses Symbol wählst, dann kannst du deinen Standort festlegen. Hier reicht schon eine Angabe wie "Berlin" oder "10775". Dieser Eintrag führt anschließend zu einer Suchanfrage bei Google Maps. +globe Wenn du dieses Symbol wählst, dann kannst du deinen Standort festlegen. +Hier reicht schon eine Angabe wie "Berlin" oder "10775". +Dieser Eintrag führt anschließend zu einer Suchanfrage bei Google Maps.

* wie du Dateien hochladen kannst, erfährst du [hier](help/FAQ#upload) diff --git a/doc/de/andfinally.md b/doc/de/andfinally.md index b6e492ae6..a873b046d 100644 --- a/doc/de/andfinally.md +++ b/doc/de/andfinally.md @@ -3,17 +3,13 @@ Und damit sind wir auch schon am Ende der Schnellstartanleitung. -Hier sind noch einige weitere Dinge, die dir den Start vereinfachen können. +Hier sind noch einige weitere Dinge, die Dir den Start vereinfachen können. **Gruppen** - Friendica Support - Probleme? Dann ist das der Platz, um zu fragen! -- Let's Talk eine Gruppe, um Leute und Gruppen mit gleichen Interessen zu finden - -- Local Friendica eine Seite für lokale Friendica-Gruppen - **Dokumentation** diff --git a/doc/de/groupsandpages.md b/doc/de/groupsandpages.md index 0b5f1fced..d5b8e7f69 100644 --- a/doc/de/groupsandpages.md +++ b/doc/de/groupsandpages.md @@ -3,11 +3,21 @@ Gruppen und Seiten * [Zur Startseite der Hilfe](help) -Hier siehst du das globale Verzeichnis. Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. +Hier siehst du das globale Verzeichnis. +Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. -Auf dieser Seite findest du eine Zusammenstellung von Gruppen, Foren und bekannten Seiten. Gruppen sind keine realen Personen. Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet. Habe keine Sorge, falls du dich unbehaglich fühlst, wenn du dich einer neuen Person vorstellen sollst, da es sich nicht um Personen handelt. +Auf dieser Seite findest du eine Zusammenstellung von Gruppen, Foren und bekannten Seiten. +Gruppen sind keine realen Personen. +Sich mit diesen zu verbinden ist, als wenn man jemanden auf Facebook "liked" ("gefällt mir") oder wenn man sich in einem Forum anmeldet. +Habe keine Sorge, falls du dich unbehaglich fühlst, wenn du dich einer neuen Person vorstellen sollst, da es sich nicht um Personen handelt. -Wenn du dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in deinem "Netzwerk"-Tab. Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eine der Gruppenmitglieder persönlich hinzuzufügen. Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen. Du findest Personen, die du magst, anstatt Fremde hinzuzufügen. Suche dir einfach eine Gruppe und füge sie so hinzu, wie du auch normale Freunde hinzufügst. Es gibt eine Menge Gruppen und möglicherweise findest du nicht wieder zu dieser Seite zurück. In diesem Fall nutze einfach den Link oben auf dieser Seite. +Wenn du dich mit einer Gruppe verbindest, erscheinen alle Nachrichten der Gruppe in deinem "Netzwerk"-Tab. +Du kannst diese Beiträge kommentieren oder selbst in der Gruppe schreiben, ohne eine der Gruppenmitglieder persönlich hinzuzufügen. +Das ist ein großartiger Weg, dynamisch neue Freunde zu gewinnen. +Du findest Personen, die du magst, anstatt Fremde hinzuzufügen. +Suche dir einfach eine Gruppe und füge sie so hinzu, wie du auch normale Freunde hinzufügst. +Es gibt eine Menge Gruppen und möglicherweise findest du nicht wieder zu dieser Seite zurück. +In diesem Fall nutze einfach den Link oben auf dieser Seite. Wenn du einige Gruppen hinzugefügt hast, gehe weiter zum nächsten Schritt. diff --git a/doc/de/guide.md b/doc/de/guide.md index a5ce54a1d..fde9cb8ea 100644 --- a/doc/de/guide.md +++ b/doc/de/guide.md @@ -3,13 +3,22 @@ Erste Schritte... * [Zur Startseite der Hilfe](help) -Das Erste zum Anfang: geh sicher, dass du schon eingeloggt bist. Wenn du noch nicht eingeloggt bist, kannst du das in dem Fenster unten machen. +Das Erste zum Anfang: geh sicher, dass du schon eingeloggt bist. +Wenn du noch nicht eingeloggt bist, kannst du das in dem Fenster unten machen. Sobald du eingeloggt bist (oder wenn du bereits eingeloggt bist), kannst du unten nun auf deine Profilseite schauen. -Hier sieht es ein wenig wie auf deiner Facebook-Seite aus. Hier findest du alle deine Statusmeldungen und Nachrichten deiner Freunde, die direkt auf deine Seite ("Wall") geschrieben haben. Um deinen Status einzutragen, klicke einfach auf die Box oben, in der "Teilen" steht. Wenn du das machst, vergrößert sich die Box. Nun kannst du einige Formatierungsoptionen wie Fett, kursiv, unterstrichen auswählen und ebenfalls Bilder und Links hinzufügen. Unten findest du in diesem Feld weitere Links, mit denen du Bilder und Dateien von deinem Computer hochladen, Webseiten mit einem Kurztext teilen und Video- und Audiodateien aus dem Internet einfügen kannst. Außerdem kannst du hier eintragen, wo du gerade bist. +Hier sieht es ein wenig wie auf deiner Facebook-Seite aus. +Hier findest du alle deine Statusmeldungen und Nachrichten deiner Freunde, die direkt auf deine Seite ("Wall") geschrieben haben. +Um deinen Status einzutragen, klicke einfach auf die Box oben, in der "Teilen" steht. +Wenn du das machst, vergrößert sich die Box. +Nun kannst du einige Formatierungsoptionen wie Fett, kursiv, unterstrichen auswählen und ebenfalls Bilder und Links hinzufügen. +Unten findest du in diesem Feld weitere Links, mit denen du Bilder und Dateien von deinem Computer hochladen, Webseiten mit einem Kurztext teilen und Video- und Audiodateien aus dem Internet einfügen kannst. +Außerdem kannst du hier eintragen, wo du gerade bist. -Wenn du deinen Beitrag ("Post") geschrieben hast, kannst du auf das "Schloss"-Symbol klicken und festlegen, wer deinen Beitrag sehen kann. Wenn du dieses Symbol nicht anklickst, ist dein Beitrag öffentlich. Das bedeutet, dass jeder, der dein Profil ansieht, der auf dem "Community"-Tab deines Servers oder auf dem "Netzwerk"-Tab ("Beiträge deiner Kontakte") eines befreundeten Kontakts ist, den Beitrag sehen kann. +Wenn du deinen Beitrag ("Post") geschrieben hast, kannst du auf das "Schloss"-Symbol klicken und festlegen, wer deinen Beitrag sehen kann. +Wenn du dieses Symbol nicht anklickst, ist dein Beitrag öffentlich. +Das bedeutet, dass jeder, der dein Profil ansieht, der auf dem "Community"-Tab deines Servers oder auf dem "Netzwerk"-Tab ("Beiträge deiner Kontakte") eines befreundeten Kontakts ist, den Beitrag sehen kann. Probiere es doch einfach mal aus. Wenn du fertg bist, schauen wir uns den "Netzwerk"-Tab an. diff --git a/doc/de/makingnewfriends.md b/doc/de/makingnewfriends.md index 911b7f4a8..8b15cec90 100644 --- a/doc/de/makingnewfriends.md +++ b/doc/de/makingnewfriends.md @@ -3,13 +3,24 @@ Neue Freunde finden * [Zur Startseite der Hilfe](help) -Hier siehst du die Kontaktvorschläge. Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. +Hier siehst du die Kontaktvorschläge. +Wenn du dich mal verirrt hast, kannst du diesen Link klicken und wieder hierher kommen. -Diese Seite ist ein wenig wie die Kontaktvorschläge in Facebook. Jeder auf dieser Liste hat zugestimmt, als Kontaktvorschlag zu erscheinen. Das bedeutet, das sie Anfragen meist nicht ablehnen, da sie neue Leute kennenlernen wollen. +Diese Seite ist ein wenig wie die Kontaktvorschläge in Facebook. +Jeder auf dieser Liste hat zugestimmt, als Kontaktvorschlag zu erscheinen. +Das bedeutet, das sie Anfragen meist nicht ablehnen, da sie neue Leute kennenlernen wollen. -Siehst du jemanden, dessen Aussehen du magst? Klicke auf den "Verbinden"-Button beim Foto. Als nächstes kommst du zur Seite "Freundschafts-/Kontaktanfrage". Fülle das Formular wie vorgegeben aus und trage optional eine kleine Notiz ein. Nun musst du nur noch auf die Bestätigung warten. Beachte dabei, dass es sich um reale Personen handelt und es somit etwas dauern kann. Jetzt, nachdem du jemanden hinzugefügt hast, weißt du vielleicht nicht mehr, wie du zurückkommst. Klicke einfach auf den Link oben auf dieser Seite und du kommst zurück zur Seite mit den Kontaktvorschlägen, um weitere Personen hinzuzufügen. +Siehst du jemanden, dessen Aussehen du magst? +Klicke auf den "Verbinden"-Button beim Foto. +Als nächstes kommst du zur Seite "Freundschafts-/Kontaktanfrage". +Fülle das Formular wie vorgegeben aus und trage optional eine kleine Notiz ein. +Nun musst du nur noch auf die Bestätigung warten. +Beachte dabei, dass es sich um reale Personen handelt und es somit etwas dauern kann. +Jetzt, nachdem du jemanden hinzugefügt hast, weißt du vielleicht nicht mehr, wie du zurückkommst. +Klicke einfach auf den Link oben auf dieser Seite und du kommst zurück zur Seite mit den Kontaktvorschlägen, um weitere Personen hinzuzufügen. -Du willst nicht einfach Personen hinzufügen, die du nicht kennst? Kein Problem - an dieser Stelle kommen wir zu den Gruppen und Seiten. +Du willst nicht einfach Personen hinzufügen, die du nicht kennst? +Kein Problem - an dieser Stelle kommen wir zu den Gruppen und Seiten. diff --git a/doc/de/network.md b/doc/de/network.md index 37eeec869..154455319 100644 --- a/doc/de/network.md +++ b/doc/de/network.md @@ -3,11 +3,17 @@ Deine "Netzwerk"-Seite * [Zur Startseite der Hilfe](help) -Das ist dein "Netzwerk"-Tab. Wenn du dich mal verirrt hast, kannst du diesen Link klicken, um wieder hierher zu kommen. +Das ist dein "Netzwerk"-Tab. +Wenn du dich mal verirrt hast, kannst du diesen Link klicken, um wieder hierher zu kommen. -Diese Seite ist ein wenig wie die News-Seite in Facebook oder der Stream in Diaspora. Hier findest du alle Beiträge deiner Kontakte, Gruppen und Feeds, die du eingetragen hast. Wenn du neu bist, siehst du hier noch nichts, falls du deinen Status im letzten Schritt noch nicht eingetragen hast. Wenn du bereits ein paar Freunde eingetragen hast, findest du hier ihre Beiträge. Hier kannst du Beiträge kommentieren, eintragen, dass du den Beitrag magst oder ablehnst oder die Profile durch einen Klick auf deren Namen anschauen und auf deren Seite ("Wall") Nachrichten schreiben. +Diese Seite ist ein wenig wie die News-Seite in Facebook oder der Stream in Diaspora. +Hier findest du alle Beiträge deiner Kontakte, Gruppen und Feeds, die du eingetragen hast. +Wenn du neu bist, siehst du hier noch nichts, falls du deinen Status im letzten Schritt noch nicht eingetragen hast. +Wenn du bereits ein paar Freunde eingetragen hast, findest du hier ihre Beiträge. +Hier kannst du Beiträge kommentieren, eintragen, dass du den Beitrag magst oder ablehnst oder die Profile durch einen Klick auf deren Namen anschauen und auf deren Seite ("Wall") Nachrichten schreiben. -Nun wollen wir diese Seite mit Inhalt füllen. Der erste Schritt ist es, Leute zu deinem Account hinzuzufügen. +Nun wollen wir diese Seite mit Inhalt füllen. +Der erste Schritt ist es, Leute zu deinem Account hinzuzufügen. diff --git a/doc/network.md b/doc/network.md index 08ddca290..36be159ea 100644 --- a/doc/network.md +++ b/doc/network.md @@ -1,6 +1,11 @@ -This is your Network Tab. If you get lost, you can click this link to bring yourself back here. +This is your Network Tab. +If you get lost, you can click this link to bring yourself back here. -This is a bit like the Newsfeed at Facebook or the Stream at Diaspora. It's where all the posts from your contacts, groups, and feeds will appear. If you're new, you won't see anything in this page, unless you posted your status in the last step. If you've already added a few friends, you'll be able to see their posts. Here, you can comment, like, or dislike posts, or click on somebody's name to visit their profile page where you can write on their wall. +This is a bit like the Newsfeed at Facebook or the Stream at Diaspora. +It's where all the posts from your contacts, groups, and feeds will appear. +If you're new, you won't see anything in this page, unless you posted your status in the last step. +If you've already added a few friends, you'll be able to see their posts. +Here, you can comment, like, or dislike posts, or click on somebody's name to visit their profile page where you can write on their wall. Now we need to fill it up, the first step, is to make some new friends. diff --git a/include/Photo.php b/include/Photo.php index ccb6af29e..e36fd46ca 100644 --- a/include/Photo.php +++ b/include/Photo.php @@ -345,6 +345,24 @@ class Photo { } public function orient($filename) { + if ($this->is_imagick()) { + // based off comment on http://php.net/manual/en/imagick.getimageorientation.php + $orientation = $this->image->getImageOrientation(); + switch ($orientation) { + case imagick::ORIENTATION_BOTTOMRIGHT: + $this->image->rotateimage("#000", 180); + break; + case imagick::ORIENTATION_RIGHTTOP: + $this->image->rotateimage("#000", 90); + break; + case imagick::ORIENTATION_LEFTBOTTOM: + $this->image->rotateimage("#000", -90); + break; + } + + $this->image->setImageOrientation(imagick::ORIENTATION_TOPLEFT); + return TRUE; + } // based off comment on http://php.net/manual/en/function.imagerotate.php if(!$this->is_valid()) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 668544b0b..b2c4b31c8 100644 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -78,19 +78,19 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { if(x($options,'networks')) { switch($options['networks']) { case 'DFRN_ONLY': - $networks = array('dfrn'); + $networks = array(NETWORK_DFRN); break; case 'PRIVATE': if(is_array($a->user) && $a->user['prvnets']) - $networks = array('dfrn','mail','dspr'); + $networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA); else - $networks = array('dfrn','face','mail', 'dspr'); + $networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL, NETWORK_DIASPORA); break; case 'TWO_WAY': if(is_array($a->user) && $a->user['prvnets']) - $networks = array('dfrn','mail','dspr'); + $networks = array(NETWORK_DFRN,NETWORK_MAIL,NETWORK_DIASPORA); else - $networks = array('dfrn','face','mail','dspr','stat'); + $networks = array(NETWORK_DFRN,NETWORK_FACEBOOK,NETWORK_MAIL,NETWORK_DIASPORA,NETWORK_OSTATUS); break; default: break; @@ -181,12 +181,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p $sql_extra .= sprintf(" AND `rel` = %d ", intval(CONTACT_IS_FRIEND)); } - if($privmail) { - $sql_extra .= " AND `network` IN ( 'dfrn', 'dspr' ) "; - } - elseif($privatenet) { - $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) "; - } + if($privmail) + $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s') ", + NETWORK_DFRN, NETWORK_DIASPORA); + elseif($privatenet) + $sql_extra .= sprintf(" AND `network` IN ('%s' , '%s', '%s', '%s') ", + NETWORK_DFRN, NETWORK_MAIL, NETWORK_FACEBOOK, NETWORK_DIASPORA); $tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : ""); diff --git a/include/api.php b/include/api.php index cf75428a3..06dbca7f1 100644 --- a/include/api.php +++ b/include/api.php @@ -102,6 +102,9 @@ $password = $_SERVER['PHP_AUTH_PW']; $encrypted = hash('whirlpool',trim($password)); + // allow "user@server" login (but ignore 'server' part) + $at=strstr($user, "@", true); + if ( $at ) $user=$at; /** * next code from mod/auth.php. needs better solution @@ -109,7 +112,7 @@ $record = null; $addon_auth = array( - 'username' => trim($user), + 'username' => trim($user), 'password' => trim($password), 'authenticated' => 0, 'user_record' => null @@ -1366,6 +1369,10 @@ logger('API: api_conversation_show: '.$id); + $r = q("SELECT `parent` FROM `item` WHERE `id` = %d", intval($id)); + if ($r) + $id = $r[0]["parent"]; + $sql_extra = ''; if ($max_id > 0) @@ -2666,6 +2673,70 @@ + /** + * similar as /mod/redir.php + * redirect to 'url' after dfrn auth + * + * why this when there is mod/redir.php already? + * This use api_user() and api_login() + * + * params + * c_url: url of remote contact to auth to + * url: string, url to redirect after auth + */ + function api_friendica_remoteauth(&$a) { + $url = ((x($_GET,'url')) ? $_GET['url'] : ''); + $c_url = ((x($_GET,'c_url')) ? $_GET['c_url'] : ''); + + if ($url === '' || $c_url === '') + die((api_error($a, 'json', "Wrong parameters"))); + + $c_url = normalise_link($c_url); + + // traditional DFRN + + $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `nurl` = '%s' LIMIT 1", + dbesc($c_url), + intval(api_user()) + ); + + if ((! count($r)) || ($r[0]['network'] !== NETWORK_DFRN)) + die((api_error($a, 'json', "Unknown contact"))); + + $cid = $r[0]['id']; + + $dfrn_id = $orig_id = (($r[0]['issued-id']) ? $r[0]['issued-id'] : $r[0]['dfrn-id']); + + if($r[0]['duplex'] && $r[0]['issued-id']) { + $orig_id = $r[0]['issued-id']; + $dfrn_id = '1:' . $orig_id; + } + if($r[0]['duplex'] && $r[0]['dfrn-id']) { + $orig_id = $r[0]['dfrn-id']; + $dfrn_id = '0:' . $orig_id; + } + + $sec = random_string(); + + q("INSERT INTO `profile_check` ( `uid`, `cid`, `dfrn_id`, `sec`, `expire`) + VALUES( %d, %s, '%s', '%s', %d )", + intval(api_user()), + intval($cid), + dbesc($dfrn_id), + dbesc($sec), + intval(time() + 45) + ); + + logger($r[0]['name'] . ' ' . $sec, LOGGER_DEBUG); + $dest = (($url) ? '&destination_url=' . $url : ''); + goaway ($r[0]['poll'] . '?dfrn_id=' . $dfrn_id + . '&dfrn_version=' . DFRN_PROTOCOL_VERSION + . '&type=profile&sec=' . $sec . $dest . $quiet ); + } + api_register_func('api/friendica/remoteauth', 'api_friendica_remoteauth', true); + + + function api_share_as_retweet(&$item) { $body = trim($item["body"]); @@ -2884,6 +2955,7 @@ function api_best_nickname(&$contacts) { $contacts = array($contacts[0]); } + /* Not implemented by now: statuses/retweets_of_me diff --git a/include/conversation.php b/include/conversation.php index 20b54728c..a6ea4da81 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -908,7 +908,7 @@ function like_puller($a,$item,&$arr,$mode) { if((activity_match($item['verb'],$verb)) && ($item['id'] != $item['parent'])) { $url = $item['author-link']; - if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === 'dfrn') && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) { + if((local_user()) && (local_user() == $item['uid']) && ($item['network'] === NETWORK_DFRN) && (! $item['self']) && (link_compare($item['author-link'],$item['url']))) { $url = $a->get_baseurl(true) . '/redir/' . $item['contact-id']; $sparkle = ' class="sparkle" '; } diff --git a/include/dbstructure.php b/include/dbstructure.php index f131abe64..3a6e0705d 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -120,7 +120,7 @@ function print_structure($database) { } } -function update_structure($verbose, $action) { +function update_structure($verbose, $action, $tables=null, $definition=null) { global $a, $db; $errors = false; @@ -130,7 +130,8 @@ function update_structure($verbose, $action) { // Get the current structure $database = array(); - $tables = q("show tables"); + if (is_null($tables)) + $tables = q("show tables"); foreach ($tables AS $table) { $table = current($table); @@ -139,7 +140,8 @@ function update_structure($verbose, $action) { } // Get the definition - $definition = db_definition(); + if (is_null($definition)) + $definition = db_definition(); // Compare it foreach ($definition AS $name => $structure) { @@ -149,9 +151,9 @@ function update_structure($verbose, $action) { if(false === $r) $errors .= t('Errors encountered creating database tables.').$name.EOL; } else { - // Drop the index if it isn't present in the definition + // Drop the index if it isn't present in the definition and index name doesn't start with "local_" foreach ($database[$name]["indexes"] AS $indexname => $fieldnames) - if (!isset($structure["indexes"][$indexname])) { + if (!isset($structure["indexes"][$indexname]) && substr($indexname, 0, 6) != 'local_') { $sql2=db_drop_index($indexname); if ($sql3 == "") $sql3 = "ALTER TABLE `".$name."` ".$sql2; @@ -453,6 +455,7 @@ function db_definition() { "uri-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), "avatar-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), "term-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), + "last-item" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"), "priority" => array("type" => "tinyint(3)", "not null" => "1", "default" => "0"), "blocked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "1"), "readonly" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), @@ -922,6 +925,7 @@ function db_definition() { "msg" => array("type" => "mediumtext", "not null" => "1"), "uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "link" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), + "iid" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "parent" => array("type" => "int(11)", "not null" => "1", "default" => "0"), "seen" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"), "verb" => array("type" => "varchar(255)", "not null" => "1", "default" => ""), diff --git a/include/diaspora.php b/include/diaspora.php index 6b42e3c55..a6e341729 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -779,6 +779,10 @@ function diaspora_post_allow($importer,$contact) { return false; } +function diaspora_is_redmatrix($url) { + return(strstr($url, "/channel/")); +} + function diaspora_plink($addr, $guid) { $r = q("SELECT `url`, `nick` FROM `fcontact` WHERE `addr`='%s' LIMIT 1", $addr); @@ -786,7 +790,7 @@ function diaspora_plink($addr, $guid) { if (!$r) return 'https://'.substr($addr,strpos($addr,'@')+1).'/posts/'.$guid; - if (strstr($r[0]["url"], "/channel/")) + if (diaspora_is_redmatrix($r[0]["url"])) return $r[0]["url"]."/?f=&mid=".$guid; return 'https://'.substr($addr,strpos($addr,'@')+1).'/posts/'.$guid; @@ -841,7 +845,8 @@ function diaspora_post($importer,$xml,$msg) { $body = diaspora2bb($xml->raw_message); // Add OEmbed and other information to the body - $body = add_page_info_to_body($body, false, true); + if (!diaspora_is_redmatrix($contact['url'])) + $body = add_page_info_to_body($body, false, true); $datarray = array(); @@ -1473,6 +1478,8 @@ function diaspora_comment($importer,$xml,$msg) { DiasporaFetchGuid($datarray); $message_id = item_store($datarray); + $datarray['id'] = $message_id; + //if($message_id) { //q("update item set plink = '%s' where id = %d", // //dbesc($a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id), diff --git a/include/enotify.php b/include/enotify.php index 4327e75b8..027293d4f 100644 --- a/include/enotify.php +++ b/include/enotify.php @@ -27,7 +27,7 @@ function notification($params) { $hostname = $a->get_hostname(); if(strpos($hostname,':')) $hostname = substr($hostname,0,strpos($hostname,':')); - + $sender_email = $a->config['sender_email']; if (empty($sender_email)) { $sender_email = t('noreply') . '@' . $hostname; @@ -63,6 +63,16 @@ function notification($params) { // e.g. "your post", "David's photo", etc. $possess_desc = t('%s '); + if (isset($params['item']['id'])) + $item_id = $params['item']['id']; + else + $item_id = 0; + + if (isset($params['parent'])) + $parent_id = $params['parent']; + else + $parent_id = 0; + if($params['type'] == NOTIFY_MAIL) { $subject = sprintf( t('[Friendica:Notify] New mail received at %s'),$sitename); @@ -78,7 +88,7 @@ function notification($params) { if($params['type'] == NOTIFY_COMMENT) { // logger("notification: params = " . print_r($params, true), LOGGER_DEBUG); - $parent_id = $params['parent']; + //$parent_id = $params['parent']; $p = q("SELECT `ignored` FROM `thread` WHERE `iid` = %d AND `uid` = %d LIMIT 1", intval($parent_id), @@ -400,6 +410,7 @@ function notification($params) { $datarray['date'] = datetime_convert(); $datarray['uid'] = $params['uid']; $datarray['link'] = $itemlink; + $datarray['iid'] = $item_id; $datarray['parent'] = $parent_id; $datarray['type'] = $params['type']; $datarray['verb'] = $params['verb']; @@ -415,8 +426,8 @@ function notification($params) { // create notification entry in DB - $r = q("insert into notify (hash,name,url,photo,date,uid,link,parent,type,verb,otype) - values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,'%s','%s')", + $r = q("insert into notify (hash,name,url,photo,date,uid,link,iid,parent,type,verb,otype) + values('%s','%s','%s','%s','%s',%d,'%s',%d,%d,%d,'%s','%s')", dbesc($datarray['hash']), dbesc($datarray['name']), dbesc($datarray['url']), @@ -424,6 +435,7 @@ function notification($params) { dbesc($datarray['date']), intval($datarray['uid']), dbesc($datarray['link']), + intval($datarray['iid']), intval($datarray['parent']), intval($datarray['type']), dbesc($datarray['verb']), diff --git a/include/follow.php b/include/follow.php index ba036cd48..287a38b6b 100644 --- a/include/follow.php +++ b/include/follow.php @@ -15,7 +15,7 @@ function new_contact($uid,$url,$interactive = false) { - $result = array('success' => false,'message' => ''); + $result = array('cid' => -1, 'success' => false,'message' => ''); $a = get_app(); @@ -208,7 +208,7 @@ function new_contact($uid,$url,$interactive = false) { $contact = $r[0]; $contact_id = $r[0]['id']; - + $result['cid'] = $contact_id; $g = q("select def_gid from user where uid = %d limit 1", intval($uid) diff --git a/include/items.php b/include/items.php index 3832b80b3..279169e50 100644 --- a/include/items.php +++ b/include/items.php @@ -1391,12 +1391,24 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa $current_post = $r[0]['id']; logger('item_store: created item ' . $current_post); - // Set "success_update" to the date of the last time we heard from this contact - // This can be used to filter for inactive contacts and poco. + // Set "success_update" and "last-item" to the date of the last time we heard from this contact + // This can be used to filter for inactive contacts. // Only do this for public postings to avoid privacy problems, since poco data is public. // Don't set this value if it isn't from the owner (could be an author that we don't know) - if (!$arr['private'] AND (($arr["author-link"] === $arr["owner-link"]) OR ($arr["parent-uri"] === $arr["uri"]))) - q("UPDATE `contact` SET `success_update` = '%s' WHERE `id` = %d", + + $update = (!$arr['private'] AND (($arr["author-link"] === $arr["owner-link"]) OR ($arr["parent-uri"] === $arr["uri"]))); + + // Is it a forum? Then we don't care about the rules from above + if (!$update AND ($arr["network"] == NETWORK_DFRN) AND ($arr["parent-uri"] === $arr["uri"])) { + $isforum = q("SELECT `forum` FROM `contact` WHERE `id` = %d AND `forum`", + intval($arr['contact-id'])); + if ($isforum) + $update = true; + } + + if ($update) + q("UPDATE `contact` SET `success_update` = '%s', `last-item` = '%s' WHERE `id` = %d", + dbesc($arr['received']), dbesc($arr['received']), intval($arr['contact-id']) ); @@ -1555,7 +1567,8 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa 'source_link' => $item[0]['author-link'], 'source_photo' => $item[0]['author-avatar'], 'verb' => ACTIVITY_TAG, - 'otype' => 'item' + 'otype' => 'item', + 'parent' => $arr['parent'] )); logger('item_store: Notification sent for contact '.$arr['contact-id'].' and post '.$current_post, LOGGER_DEBUG); } @@ -3647,6 +3660,9 @@ function local_delivery($importer,$data) { $parent = 0; if($posted_id) { + + $datarray["id"] = $posted_id; + $r = q("SELECT `parent`, `parent-uri` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($posted_id), intval($importer['importer_uid']) @@ -4009,7 +4025,7 @@ function local_delivery($importer,$data) { 'verb' => $datarray['verb'], 'otype' => 'person', 'activity' => $verb, - + 'parent' => $datarray['parent'] )); } } @@ -4094,9 +4110,7 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { } if(($r[0]['notify-flags'] & NOTIFY_INTRO) && - (($r[0]['page-flags'] == PAGE_NORMAL) OR ($r[0]['page-flags'] == PAGE_SOAPBOX))) { - - + in_array($r[0]['page-flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE))) { notification(array( 'type' => NOTIFY_INTRO, @@ -4113,7 +4127,6 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) { 'otype' => 'intro' )); - } } } diff --git a/include/nav.php b/include/nav.php index 9ea3b4b7f..df5e00394 100644 --- a/include/nav.php +++ b/include/nav.php @@ -147,15 +147,16 @@ function nav_info(&$a) { $nav['home'] = array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations')); + if(in_array($_SESSION['page_flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE, PAGE_PRVGROUP))) { + /* only show friend requests for normal pages. Other page types have automatic friendship. */ + if(in_array($_SESSION['page_flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_PRVGROUP))) + $nav['introductions'] = array('notifications/intros', t('Introductions'), "", t('Friend Requests')); - /* only show friend requests for normal pages. Other page types have automatic friendship. */ - - if($_SESSION['page_flags'] == PAGE_NORMAL || $_SESSION['page_flags'] == PAGE_SOAPBOX || $_SESSION['page_flags'] == PAGE_PRVGROUP) { - $nav['introductions'] = array('notifications/intros', t('Introductions'), "", t('Friend Requests')); - $nav['notifications'] = array('notifications', t('Notifications'), "", t('Notifications')); - $nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", ""); - $nav['notifications']['mark'] = array('', t('Mark all system notifications seen'), '',''); - + if(in_array($_SESSION['page_flags'], array(PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE))) { + $nav['notifications'] = array('notifications', t('Notifications'), "", t('Notifications')); + $nav['notifications']['all']=array('notifications/system', t('See all notifications'), "", ""); + $nav['notifications']['mark'] = array('', t('Mark all system notifications seen'), '',''); + } } $nav['messages'] = array('message', t('Messages'), "", t('Private mail')); diff --git a/include/oembed.php b/include/oembed.php index 69583167c..a793bd800 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -210,7 +210,7 @@ function oembed_iframe($src,$width,$height) { $a = get_app(); $s = $a->get_baseurl()."/oembed/".base64url_encode($src); - return ''; + return ''; } diff --git a/include/text.php b/include/text.php index 8ce54b3c6..fd5ae0a2b 100644 --- a/include/text.php +++ b/include/text.php @@ -920,7 +920,7 @@ function micropro($contact, $redirect = false, $class = '', $textmode = false) { if($redirect) { $a = get_app(); $redirect_url = $a->get_baseurl() . '/redir/' . $contact['id']; - if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === 'dfrn')) { + if(local_user() && ($contact['uid'] == local_user()) && ($contact['network'] === NETWORK_DFRN)) { $redir = true; $url = $redirect_url; $sparkle = ' sparkle'; diff --git a/mod/contacts.php b/mod/contacts.php index 95b1944dc..5d40ff994 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -3,7 +3,9 @@ require_once('include/Contact.php'); require_once('include/socgraph.php'); require_once('include/contact_selectors.php'); +require_once('include/Scrape.php'); require_once('mod/proxy.php'); +require_once('include/Photo.php'); function contacts_init(&$a) { if(! local_user()) @@ -33,7 +35,7 @@ function contacts_init(&$a) { $vcard_widget = replace_macros(get_markup_template("vcard-widget.tpl"),array( '$name' => $a->data['contact']['name'], '$photo' => $a->data['contact']['photo'], - '$url' => ($a->data['contact']['network'] == 'dfrn') ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url'] + '$url' => ($a->data['contact']['network'] == NETWORK_DFRN) ? $a->get_baseurl()."/redir/".$a->data['contact']['id'] : $a->data['contact']['url'] )); $follow_widget = ''; } @@ -205,8 +207,70 @@ function contacts_post(&$a) { /*contact actions*/ function _contact_update($contact_id) { // pull feed and consume it, which should subscribe to the hub. - proc_run('php',"include/poller.php","$contact_id"); + proc_run('php',"include/poller.php","$contact_id"); } + +function _contact_update_profile($contact_id) { + $r = q("SELECT `url`, `network` FROM `contact` WHERE `id` = %d", intval($contact_id)); + if (!$r) + return; + + $data = probe_url($r[0]["url"]); + + // "Feed" is mostly a sign of communication problems + if (($data["network"] == NETWORK_FEED) AND ($data["network"] != $r[0]["network"])) + return; + + $updatefields = array("name", "nick", "url", "addr", "batch", "notify", "poll", "request", "confirm", + "poco", "network", "alias", "pubkey"); + $update = array(); + + foreach($updatefields AS $field) + if (isset($data[$field]) AND ($data[$field] != "")) + $update[$field] = $data[$field]; + + $update["nurl"] = normalise_link($data["url"]); + + $query = ""; + + if (isset($data["priority"]) AND ($data["priority"] != 0)) + $query = "`priority` = ".intval($data["priority"]); + + foreach($update AS $key => $value) { + if ($query != "") + $query .= ", "; + + $query .= "`".$key."` = '".dbesc($value)."'"; + } + + if ($query == "") + return; + + $r = q("UPDATE `contact` SET $query WHERE `id` = %d AND `uid` = %d", + intval($contact_id), + intval(local_user()) + ); + + $photos = import_profile_photo($data['photo'], local_user(), $contact_id); + + $r = q("UPDATE `contact` SET `photo` = '%s', + `thumb` = '%s', + `micro` = '%s', + `name-date` = '%s', + `uri-date` = '%s', + `avatar-date` = '%s' + WHERE `id` = %d", + dbesc($photos[0]), + dbesc($photos[1]), + dbesc($photos[2]), + dbesc(datetime_convert()), + dbesc(datetime_convert()), + dbesc(datetime_convert()), + intval($contact_id) + ); + +} + function _contact_block($contact_id, $orig_record) { $blocked = (($orig_record['blocked']) ? 0 : 1); $r = q("UPDATE `contact` SET `blocked` = %d WHERE `id` = %d AND `uid` = %d", @@ -284,6 +348,12 @@ function contacts_content(&$a) { // NOTREACHED } + if($cmd === 'updateprofile') { + _contact_update_profile($contact_id); + goaway($a->get_baseurl(true) . '/crepair/' . $contact_id); + // NOTREACHED + } + if($cmd === 'block') { $r = _contact_block($contact_id, $orig_record[0]); if($r) { @@ -681,7 +751,7 @@ function contacts_content(&$a) { default: break; } - if(($rr['network'] === 'dfrn') && ($rr['rel'])) { + if(($rr['network'] === NETWORK_DFRN) && ($rr['rel'])) { $url = "redir/{$rr['id']}"; $sparkle = ' class="sparkle" '; } @@ -734,7 +804,7 @@ function contacts_content(&$a) { ), '$paginate' => paginate($a), - )); - + )); + return $o; } diff --git a/mod/crepair.php b/mod/crepair.php index 400817d6f..55231faf7 100644 --- a/mod/crepair.php +++ b/mod/crepair.php @@ -160,8 +160,12 @@ function crepair_content(&$a) { else $remote_self_options = array('0'=>t('No mirroring'), '2'=>t('Mirror as my own posting')); + $update_profile = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_DSPR, NETWORK_OSTATUS)); + $tpl = get_markup_template('crepair.tpl'); $o .= replace_macros($tpl, array( + '$update_profile' => update_profile, + '$udprofilenow' => t('Refetch contact data'), '$label_name' => t('Name'), '$label_nick' => t('Account Nickname'), '$label_attag' => t('@Tagname - overrides Name/Nickname'), diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index f1ce296d9..1cc258853 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -340,7 +340,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { `pending` = 0, `duplex` = %d, `hidden` = %d, - `network` = 'dfrn' WHERE `id` = %d + `network` = '%s' WHERE `id` = %d ", dbesc($photos[0]), dbesc($photos[1]), @@ -351,6 +351,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc(datetime_convert()), intval($duplex), intval($hidden), + dbesc(NETWORK_DFRN), intval($contact_id) ); } diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index aee8c0306..62b6f4bd7 100644 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -664,6 +664,21 @@ function dfrn_request_content(&$a) { $dfrn_url = notags(trim(hex2bin($_GET['dfrn_url']))); $aes_allow = (((x($_GET,'aes_allow')) && ($_GET['aes_allow'] == 1)) ? 1 : 0); $confirm_key = (x($_GET,'confirm_key') ? $_GET['confirm_key'] : ""); + + // Checking fastlane for validity + if (x($_SESSION, "fastlane") AND (normalise_link($_SESSION["fastlane"]) == normalise_link($dfrn_url))) { + $_POST["dfrn_url"] = $dfrn_url; + $_POST["confirm_key"] = $confirm_key; + $_POST["localconfirm"] = 1; + $_POST["hidden-contact"] = 0; + $_POST["submit"] = t('Confirm'); + + dfrn_request_post($a); + + killme(); + return; // NOTREACHED + } + $tpl = get_markup_template("dfrn_req_confirm.tpl"); $o = replace_macros($tpl,array( '$dfrn_url' => $dfrn_url, diff --git a/mod/display.php b/mod/display.php index f483977cd..02ff37bf8 100644 --- a/mod/display.php +++ b/mod/display.php @@ -193,11 +193,13 @@ function display_fetchauthor($a, $item) { } if (local_user()) { - if ($profiledata["network"] == NETWORK_DFRN) { - $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]); - $profiledata["remoteconnect"] = $connect; - } elseif ($profiledata["network"] == NETWORK_DIASPORA) - $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true); + if (in_array($profiledata["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) + $profiledata["remoteconnect"] = $a->get_baseurl()."/follow?url=".urlencode($profiledata["url"]); + //if ($profiledata["network"] == NETWORK_DFRN) { + // $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"])."&addr=".bin2hex($a->get_baseurl()."/profile/".$a->user["nickname"]); + // $profiledata["remoteconnect"] = $connect; + //} elseif ($profiledata["network"] == NETWORK_DIASPORA) + // $profiledata["remoteconnect"] = $a->get_baseurl()."/contacts?add=".GetProfileUsername($profiledata["url"], "", true); } elseif ($profiledata["network"] == NETWORK_DFRN) { $connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]); $profiledata["remoteconnect"] = $connect; diff --git a/mod/follow.php b/mod/follow.php old mode 100644 new mode 100755 index 5c2c764c7..b9401ee82 --- a/mod/follow.php +++ b/mod/follow.php @@ -3,7 +3,7 @@ require_once('include/Scrape.php'); require_once('include/follow.php'); -function follow_init(&$a) { +function follow_content(&$a) { if(! local_user()) { notice( t('Permission denied.') . EOL); @@ -11,10 +11,85 @@ function follow_init(&$a) { // NOTREACHED } + $uid = local_user(); + $url = notags(trim($_REQUEST['url'])); + + $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND (`nurl` = '%s' OR `alias` = '%s' OR `alias` = '%s') LIMIT 1", + intval(local_user()), dbesc(normalise_link($url)), dbesc(normalise_link($url)), dbesc($url)); + + if ($r) { + notice(t('You already added this contact.').EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + $ret = probe_url($url); + + if($ret['network'] === NETWORK_DFRN) { + $request = $ret["request"]; + $tpl = get_markup_template('dfrn_request.tpl'); + } else { + $request = $a->get_baseurl()."/follow"; + $tpl = get_markup_template('auto_request.tpl'); + } + + $r = q("SELECT `url` FROM `contact` WHERE `uid` = %d AND `self` LIMIT 1", intval($uid)); + + if (!$r) { + notice( t('Permission denied.') . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + $myaddr = $r[0]["url"]; + + // Makes the connection request for friendica contacts easier + $_SESSION["fastlane"] = $ret["url"]; + + $o = replace_macros($tpl,array( + '$header' => $ret["name"]." (".$ret["addr"].")", + '$photo' => $ret["photo"], + '$desc' => "", + '$pls_answer' => t('Please answer the following:'), + '$does_know_you' => array('knowyou', sprintf(t('Does %s know you?'),$ret["name"]), false, '', array(t('No'),t('Yes'))), + '$add_note' => t('Add a personal note:'), + '$page_desc' => "", + '$friendica' => "", + '$statusnet' => "", + '$diaspora' => "", + '$diasnote' => "", + '$your_address' => t('Your Identity Address:'), + '$invite_desc' => "", + '$emailnet' => "", + '$submit' => t('Submit Request'), + '$cancel' => t('Cancel'), + '$nickname' => "", + '$name' => $ret["name"], + '$url' => $ret["url"], + '$myaddr' => $myaddr, + '$request' => $request + )); + return $o; +} + +function follow_post(&$a) { + + if(! local_user()) { + notice( t('Permission denied.') . EOL); + goaway($_SESSION['return_url']); + // NOTREACHED + } + + if ($_REQUEST['cancel']) + goaway($_SESSION['return_url']); + $uid = local_user(); $url = notags(trim($_REQUEST['url'])); $return_url = $_SESSION['return_url']; + // Makes the connection request for friendica contacts easier + // This is just a precaution if maybe this page is called somewhere directly via POST + $_SESSION["fastlane"] = $url; $result = new_contact($uid,$url,true); @@ -22,12 +97,13 @@ function follow_init(&$a) { if($result['message']) notice($result['message']); goaway($return_url); - } + } elseif ($result['cid']) + goaway($a->get_baseurl().'/contacts/'.$result['cid']); - info( t('Contact added') . EOL); + info( t('Contact added').EOL); if(strstr($return_url,'contacts')) - goaway($a->get_baseurl() . '/contacts/' . $contact_id); + goaway($a->get_baseurl().'/contacts/'.$contact_id); goaway($return_url); // NOTREACHED diff --git a/mod/network.php b/mod/network.php index 0f9b0d233..fafee97c0 100644 --- a/mod/network.php +++ b/mod/network.php @@ -452,11 +452,6 @@ function network_content(&$a, $update = 0) { } set_pconfig(local_user(), 'network.view', 'net.selected', ($nets ? $nets : 'all')); -/*if ($update) { -print_r($_GET); -die("ss"); -}*/ - if(! $update) { if($group) { if(($t = group_public_members($group)) && (! get_pconfig(local_user(),'system','nowarn_insecure'))) { @@ -471,6 +466,14 @@ die("ss"); $celeb = ((($a->user['page-flags'] == PAGE_SOAPBOX) || ($a->user['page-flags'] == PAGE_COMMUNITY)) ? true : false); + $content = ""; + + if ($cid) { + $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`", intval($cid), intval(local_user())); + if ($contact) + $content = "@".$contact[0]["nick"]."+".$cid; + } + $x = array( 'is_owner' => true, 'allow_location' => $a->user['allow_location'], @@ -483,6 +486,7 @@ die("ss"); 'visitor' => 'block', 'profile_uid' => local_user(), 'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector + 'content' => $content, ); $o .= status_editor($a,$x); diff --git a/mod/parse_url.php b/mod/parse_url.php index 7f4bd29a0..71d767675 100644 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -97,15 +97,6 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co return($siteinfo); } - if ($do_oembed) { - require_once("include/oembed.php"); - - $oembed_data = oembed_fetch_url($url); - - if ($oembed_data->type != "error") - $siteinfo["type"] = $oembed_data->type; - } - // if the file is too large then exit if ($curl_info["download_content_length"] > 1000000) return($siteinfo); @@ -114,6 +105,24 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co if (($curl_info["content_type"] != "") AND !strstr(strtolower($curl_info["content_type"]),"html")) return($siteinfo); + if ($do_oembed) { + require_once("include/oembed.php"); + + $oembed_data = oembed_fetch_url($url); + + if ($oembed_data->type != "error") + $siteinfo["type"] = $oembed_data->type; + + if (($oembed_data->type == "link") AND ($siteinfo["type"] != "photo")) { + if (isset($oembed_data->title)) + $siteinfo["title"] = $oembed_data->title; + if (isset($oembed_data->description)) + $siteinfo["text"] = trim($oembed_data->description); + if (isset($oembed_data->thumbnail_url)) + $siteinfo["image"] = $oembed_data->thumbnail_url; + } + } + $stamp1 = microtime(true); // Now fetch the body as well @@ -283,15 +292,6 @@ function parseurl_getsiteinfo($url, $no_guessing = false, $do_oembed = true, $co } } - if (isset($oembed_data) AND ($oembed_data->type == "link") AND ($siteinfo["type"] != "photo")) { - if (isset($oembed_data->title) AND (trim($oembed_data->title) != "")) - $siteinfo["title"] = $oembed_data->title; - if (isset($oembed_data->description) AND (trim($oembed_data->description) != "")) - $siteinfo["text"] = trim($oembed_data->description); - if (isset($oembed_data->thumbnail_url) AND (trim($oembed_data->thumbnail_url) != "")) - $siteinfo["image"] = $oembed_data->thumbnail_url; - } - if ((@$siteinfo["image"] == "") AND !$no_guessing) { $list = $xpath->query("//img[@src]"); foreach ($list as $node) { diff --git a/mod/photos.php b/mod/photos.php index 003bcd915..f8bba01b0 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1628,7 +1628,7 @@ function photos_content(&$a) { if(local_user() && ($item['contact-uid'] == local_user()) - && ($item['network'] == 'dfrn') && (! $item['self'] )) { + && ($item['network'] == NETWORK_DFRN) && (! $item['self'] )) { $profile_url = $redirect_url; $sparkle = ' sparkle'; } diff --git a/mod/ping.php b/mod/ping.php index 405edd3c4..ee5be67f6 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -1,5 +1,6 @@ 1'; @@ -22,32 +23,11 @@ function ping_init(&$a) { $firehose = intval(get_pconfig(local_user(),'system','notify_full')); - $t = q("select count(*) as total from notify where uid = %d and seen = 0", - intval(local_user()) - ); - if($t && intval($t[0]['total']) > 49) { - $z = q("select * from notify where uid = %d - and seen = 0 order by date desc limit 0, 50", - intval(local_user()) - ); - $sysnotify = $t[0]['total']; - } - else { - $z1 = q("select * from notify where uid = %d - and seen = 0 order by date desc limit 0, 50", - intval(local_user()) - ); - - $z2 = q("select * from notify where uid = %d - and seen = 1 order by date desc limit 0, %d", - intval(local_user()), - intval(50 - intval($t[0]['total'])) - ); - $z = array_merge($z1,$z2); - $sysnotify = 0; // we will update this in a moment - } - + // Are the nofications calles from the regular process or via the friendica app? + $regularnotifications = (intval($_GET['uid']) AND intval($_GET['_'])); + $z = ping_get_notifications(local_user(), $regularnotifications); + $sysnotify = 0; // we will update this in a moment $tags = array(); $comments = array(); @@ -128,13 +108,12 @@ function ping_init(&$a) { $myurl = $a->get_baseurl() . '/profile/' . $a->user['nickname'] ; - $mails = q("SELECT *, COUNT(*) AS `total` FROM `mail` + $mails = q("SELECT * FROM `mail` WHERE `uid` = %d AND `seen` = 0 AND `from-url` != '%s' ", intval(local_user()), dbesc($myurl) ); - if($mails) - $mail = $mails[0]['total']; + $mail = count($mails); if ($a->config['register_policy'] == REGISTER_APPROVE && is_site_admin()){ $regs = q("SELECT `contact`.`name`, `contact`.`url`, `contact`.`micro`, `register`.`created`, COUNT(*) as `total` FROM `contact` RIGHT JOIN `register` ON `register`.`uid`=`contact`.`uid` WHERE `contact`.`self`=1"); @@ -213,8 +192,6 @@ function ping_init(&$a) { $tot = $mail+$intro+$register+count($comments)+count($likes)+count($dislikes)+count($friends)+count($posts)+count($tags); - require_once('include/bbcode.php'); - if($firehose) { echo ' '; } @@ -226,7 +203,24 @@ function ping_init(&$a) { } } - echo ' '; + echo ' '; + + if ($intro>0){ + foreach ($intros as $i) { + echo xmlize($a->get_baseurl().'/notifications/intros/'.$i['id'], $i['name'], $i['url'], $i['photo'], relative_date($i['datetime']), 'notify-unseen', "→ ".t("{0} wants to be your friend")); + }; + } + if ($mail>0){ + foreach ($mails as $i) { + echo xmlize($a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), 'notify-unseen',"→ ".t("{0} sent you a message")); + }; + } + if ($register>0){ + foreach ($regs as $i) { + echo xmlize($a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), 'notify-unseen', "→ ".t("{0} requested registration")); + }; + } + if(count($z)) { foreach($z as $zz) { echo xmlize($a->get_baseurl() . '/notify/view/' . $zz['id'], $zz['name'],$zz['url'],$zz['photo'],relative_date($zz['date']), ($zz['seen'] ? 'notify-seen' : 'notify-unseen'), ($zz['seen'] ? '' : '→ ') .strip_tags(bbcode($zz['msg']))); @@ -241,12 +235,12 @@ function ping_init(&$a) { }; } if ($mail>0){ - foreach ($mails as $i) { + foreach ($mails as $i) { echo xmlize( $a->get_baseurl().'/message/'.$i['id'], $i['from-name'], $i['from-url'], $i['from-photo'], relative_date($i['created']), 'notify-unseen',t("{0} sent you a message") ); }; } if ($register>0){ - foreach ($regs as $i) { + foreach ($regs as $i) { echo xmlize( $a->get_baseurl().'/admin/users/', $i['name'], $i['url'], $i['micro'], relative_date($i['created']), 'notify-unseen',t("{0} requested registration") ); }; } @@ -305,7 +299,7 @@ function ping_init(&$a) { } unset($_SESSION['sysmsg_info']); } - + echo " "; echo" "; @@ -313,3 +307,65 @@ function ping_init(&$a) { killme(); } +function ping_get_notifications($uid, $regularnotifications) { + + $result = array(); + $offset = 0; + $seen = false; + $seensql = "NOT"; + $order = ""; + $quit = false; + + do { + $r = q("SELECT `notify`.*, `item`.`visible`, `item`.`spam`, `item`.`deleted` + FROM `notify` LEFT JOIN `item` ON `item`.`id` = `notify`.`iid` + WHERE `notify`.`uid` = %d AND `notify`.`msg` != '' + AND NOT (`notify`.`type` IN (%d, %d)) + AND $seensql `notify`.`seen` ORDER BY `notify`.`date` $order LIMIT %d, 50", + intval($uid), + intval(NOTIFY_INTRO), + intval(NOTIFY_MAIL), + intval($offset) + ); + + if (!$r AND !$seen) { + $seen = true; + $seensql = ""; + $order = "DESC"; + $offset = 0; + } elseif (!$r) + $quit = true; + else + $offset += 50; + + foreach ($r AS $notification) { + if (is_null($notification["visible"])) + $notification["visible"] = true; + + if (is_null($notification["spam"])) + $notification["spam"] = 0; + + if (is_null($notification["deleted"])) + $notification["deleted"] = 0; + + $notification["msg"] = strip_tags(bbcode($notification["msg"])); + $notification["name"] = strip_tags(bbcode($notification["name"])); + + // Replace the name with {0} but ensure to make that only once + // The {0} is used later and prints the name in bold. + // But don't do it for the android app. + $pos = strpos($notification["msg"],$notification['name']); + if (($pos !== false) AND $regularnotifications) + $notification["msg"] = substr_replace($notification["msg"],"{0}",$pos,strlen($notification["name"])); + else + $notification["msg"] = str_replace("{0}", $notification["name"], $notification["msg"]); + + if ($notification["visible"] AND !$notification["spam"] AND + !$notification["deleted"] AND !is_array($result[$notification["parent"]])) + $result[$notification["parent"]] = $notification; + } + + } while ((count($result) < 50) AND !$quit); + + return($result); +} diff --git a/mod/profile.php b/mod/profile.php index bb45d1fec..e81cfd22c 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -44,7 +44,7 @@ function profile_init(&$a) { if(x($a->profile,'openidserver')) $a->page['htmlhead'] .= '' . "\r\n"; if(x($a->profile,'openid')) { - $delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'http://' . $a->profile['openid']); + $delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'https://' . $a->profile['openid']); $a->page['htmlhead'] .= '' . "\r\n"; } // site block diff --git a/mod/profperm.php b/mod/profperm.php index 444f7a5ea..077f695be 100644 --- a/mod/profperm.php +++ b/mod/profperm.php @@ -37,7 +37,8 @@ function profperm_content(&$a) { if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) { $r = q("SELECT `id` FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 AND `self` = 0 - AND `network` = 'dfrn' AND `id` = %d AND `uid` = %d LIMIT 1", + AND `network` = '%s' AND `id` = %d AND `uid` = %d LIMIT 1", + dbesc(NETWORK_DFRN), intval($a->argv[2]), intval(local_user()) ); @@ -130,10 +131,11 @@ function profperm_content(&$a) { $o .= '

' . t("All Contacts \x28with secure profile access\x29") . '

'; $o .= ''; $o .= '
'; - - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 - AND `network` = 'dfrn' ORDER BY `name` ASC", - intval(local_user()) + + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `blocked` = 0 and `pending` = 0 and `self` = 0 + AND `network` = '%s' ORDER BY `name` ASC", + intval(local_user()), + dbesc(NETWORK_DFRN) ); if(count($r)) { diff --git a/mod/settings.php b/mod/settings.php index 67f8d69a2..7db196b03 100644 --- a/mod/settings.php +++ b/mod/settings.php @@ -474,7 +474,7 @@ function settings_post(&$a) { $str_contact_deny = perms2str($_POST['contact_deny']); $openidserver = $a->user['openidserver']; - $openid = normalise_openid($openid); + //$openid = normalise_openid($openid); // If openid has changed or if there's an openid but no openidserver, try and discover it. @@ -1002,7 +1002,7 @@ function settings_content(&$a) { $openid_field = false; } else { - $openid_field = array('openid_url', t('OpenID:'),$openid, t("\x28Optional\x29 Allow this OpenID to login to this account.")); + $openid_field = array('openid_url', t('OpenID:'),$openid, t("\x28Optional\x29 Allow this OpenID to login to this account."), "", "", "url"); } diff --git a/object/Item.php b/object/Item.php index eac4697f9..aa9792b15 100644 --- a/object/Item.php +++ b/object/Item.php @@ -82,6 +82,7 @@ class Item extends BaseObject { */ public function get_template_data($alike, $dlike, $thread_level=1) { require_once("mod/proxy.php"); + require_once("include/diaspora.php"); $result = array(); @@ -300,7 +301,7 @@ class Item extends BaseObject { // Diaspora isn't able to do likes on comments - but red does if (($item["item_network"] == NETWORK_DIASPORA) AND ($indent == 'comment') AND - !strstr($item["owner-link"], "/channel/") AND isset($buttons["like"])) + !diaspora_is_redmatrix($item["owner-link"]) AND isset($buttons["like"])) unset($buttons["like"]); // Facebook can like comments - but it isn't programmed in the connector yet. diff --git a/update.php b/update.php index 5b0b4cd25..ca86c8557 100644 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ \n" "Language-Team: Czech (http://www.transifex.com/projects/p/friendica/language/cs/)\n" "MIME-Version: 1.0\n" @@ -407,7 +407,7 @@ msgstr "přepnout mobil" #: ../../addon-wrk/openidserver/lib/render/trust.php:30 #, php-format msgid "Do you wish to confirm your identity (%s) with %s" -msgstr "" +msgstr "Přejete si potvrdit vaši identitu (%s) s %s" #: ../../addon-wrk/openidserver/lib/render/trust.php:43 #: ../../mod/dfrn_request.php:676 @@ -428,7 +428,7 @@ msgstr "Nezaslán žádný identifikátor" #: ../../addon-wrk/openidserver/lib/render/wronguser.php:5 msgid "Requested identity don't match logged in user." -msgstr "" +msgstr "Požadovaná identita neodpovídá přihlášenému uživateli" #: ../../addon-wrk/openidserver/lib/render.php:27 #, php-format @@ -3393,14 +3393,14 @@ msgid "" "Shall your connection be bidirectional or not? \"Friend\" implies that you " "allow to read and you subscribe to their posts. \"Fan/Admirer\" means that " "you allow to read but you do not want to read theirs. Approve as: " -msgstr "" +msgstr "Má být vaše propojení oboustanné nebo ne? \"Přítel\" implikuje, že dovolíte čtení a přihlašování se k jejich příspěvkům. \"Fanoušek/Obdivovatel\" znamená, že umožníte čtení, ale už nebudete číst jejich příspěvky: Odsouhlasit jako: " #: ../../mod/notifications.php:185 msgid "" "Shall your connection be bidirectional or not? \"Friend\" implies that you " "allow to read and you subscribe to their posts. \"Sharer\" means that you " "allow to read but you do not want to read theirs. Approve as: " -msgstr "" +msgstr "Má být vaše propojení oboustanné nebo ne? \"Přítel\" implikuje, že dovolíte čtení a vy budete přihlášen k odebírání jejich příspěvků. \"Sdíleč\" znamená, že umožníte čtení, ale už nebudete číst jejich příspěvky: Odsouhlasit jako: " #: ../../mod/notifications.php:193 msgid "Friend" diff --git a/view/cs/strings.php b/view/cs/strings.php index 9fd5ba8ad..e642279dc 100644 --- a/view/cs/strings.php +++ b/view/cs/strings.php @@ -76,12 +76,12 @@ $a->strings["Page not found."] = "Stránka nenalezena"; $a->strings["Permission denied"] = "Nedostatečné oprávnění"; $a->strings["Permission denied."] = "Přístup odmítnut."; $a->strings["toggle mobile"] = "přepnout mobil"; -$a->strings["Do you wish to confirm your identity (%s) with %s"] = ""; +$a->strings["Do you wish to confirm your identity (%s) with %s"] = "Přejete si potvrdit vaši identitu (%s) s %s"; $a->strings["Confirm"] = "Potvrdit"; $a->strings["Do not confirm"] = "Nepotvrzovat"; $a->strings["Trust This Site"] = "Důvěřovat tomuto webu"; $a->strings["No Identifier Sent"] = "Nezaslán žádný identifikátor"; -$a->strings["Requested identity don't match logged in user."] = ""; +$a->strings["Requested identity don't match logged in user."] = "Požadovaná identita neodpovídá přihlášenému uživateli"; $a->strings["Please wait; you are being redirected to <%s>"] = "Čekejte prosím, budete přesměrován na <%s>"; $a->strings["Delete this item?"] = "Odstranit tuto položku?"; $a->strings["Comment"] = "Okomentovat"; @@ -777,8 +777,8 @@ $a->strings["Approve"] = "Schválit"; $a->strings["Claims to be known to you: "] = "Vaši údajní známí: "; $a->strings["yes"] = "ano"; $a->strings["no"] = "ne"; -$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Fan/Admirer\" means that you allow to read but you do not want to read theirs. Approve as: "] = ""; -$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Sharer\" means that you allow to read but you do not want to read theirs. Approve as: "] = ""; +$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Fan/Admirer\" means that you allow to read but you do not want to read theirs. Approve as: "] = "Má být vaše propojení oboustanné nebo ne? \"Přítel\" implikuje, že dovolíte čtení a přihlašování se k jejich příspěvkům. \"Fanoušek/Obdivovatel\" znamená, že umožníte čtení, ale už nebudete číst jejich příspěvky: Odsouhlasit jako: "; +$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Sharer\" means that you allow to read but you do not want to read theirs. Approve as: "] = "Má být vaše propojení oboustanné nebo ne? \"Přítel\" implikuje, že dovolíte čtení a vy budete přihlášen k odebírání jejich příspěvků. \"Sdíleč\" znamená, že umožníte čtení, ale už nebudete číst jejich příspěvky: Odsouhlasit jako: "; $a->strings["Friend"] = "Přítel"; $a->strings["Sharer"] = "Sdílené"; $a->strings["Fan/Admirer"] = "Fanoušek / obdivovatel"; diff --git a/view/de/messages.po b/view/de/messages.po index 648f00a12..860087e67 100644 --- a/view/de/messages.po +++ b/view/de/messages.po @@ -31,7 +31,7 @@ msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-04-04 17:54+0200\n" -"PO-Revision-Date: 2015-04-08 10:03+0000\n" +"PO-Revision-Date: 2015-04-25 08:59+0000\n" "Last-Translator: bavatar \n" "Language-Team: German (http://www.transifex.com/projects/p/friendica/language/de/)\n" "MIME-Version: 1.0\n" @@ -3408,7 +3408,7 @@ msgid "" "Shall your connection be bidirectional or not? \"Friend\" implies that you " "allow to read and you subscribe to their posts. \"Fan/Admirer\" means that " "you allow to read but you do not want to read theirs. Approve as: " -msgstr "Soll Deine Beziehung beidseitig sein oder nicht? \"Freund\" bedeutet, ihr gegenseitig die Beiträge des Anderen lesen dürft. \"Fan/Verehrer\", das du das lesen deiner Beiträge erlaubst aber nicht die Beiträge der anderen Seite lesen möchtest. Genehmigen als:" +msgstr "Soll Deine Beziehung beidseitig sein oder nicht? \"Freund\" bedeutet, ihr könnt gegenseitig die Beiträge des Anderen lesen dürft. \"Fan/Verehrer\", dass du das lesen deiner Beiträge erlaubst aber nicht die Beiträge der anderen Seite lesen möchtest. Genehmigen als:" #: ../../mod/notifications.php:185 msgid "" diff --git a/view/de/strings.php b/view/de/strings.php index 6b68f1de2..d67eb1b79 100644 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -771,7 +771,7 @@ $a->strings["Approve"] = "Genehmigen"; $a->strings["Claims to be known to you: "] = "Behauptet Dich zu kennen: "; $a->strings["yes"] = "ja"; $a->strings["no"] = "nein"; -$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Fan/Admirer\" means that you allow to read but you do not want to read theirs. Approve as: "] = "Soll Deine Beziehung beidseitig sein oder nicht? \"Freund\" bedeutet, ihr gegenseitig die Beiträge des Anderen lesen dürft. \"Fan/Verehrer\", das du das lesen deiner Beiträge erlaubst aber nicht die Beiträge der anderen Seite lesen möchtest. Genehmigen als:"; +$a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Fan/Admirer\" means that you allow to read but you do not want to read theirs. Approve as: "] = "Soll Deine Beziehung beidseitig sein oder nicht? \"Freund\" bedeutet, ihr könnt gegenseitig die Beiträge des Anderen lesen dürft. \"Fan/Verehrer\", dass du das lesen deiner Beiträge erlaubst aber nicht die Beiträge der anderen Seite lesen möchtest. Genehmigen als:"; $a->strings["Shall your connection be bidirectional or not? \"Friend\" implies that you allow to read and you subscribe to their posts. \"Sharer\" means that you allow to read but you do not want to read theirs. Approve as: "] = "Soll Deine Beziehung beidseitig sein oder nicht? \"Freund\" bedeutet, ihr gegenseitig die Beiträge des Anderen lesen dürft. \"Teilenden\", das du das lesen deiner Beiträge erlaubst aber nicht die Beiträge der anderen Seite lesen möchtest. Genehmigen als:"; $a->strings["Friend"] = "Freund"; $a->strings["Sharer"] = "Teilenden"; diff --git a/view/fr/messages.po b/view/fr/messages.po index 4d0b7c30f..000a146cf 100644 --- a/view/fr/messages.po +++ b/view/fr/messages.po @@ -12,6 +12,7 @@ # Lionel Triay , 2013 # Marquis_de_Carabas , 2012 # Olivier , 2011-2012 +# StefOfficiel , 2015 # Sylvain Lagacé, 2014-2015 # tomamplius , 2014 # Tubuntu , 2013-2015 @@ -20,8 +21,8 @@ msgstr "" "Project-Id-Version: friendica\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2015-04-04 17:54+0200\n" -"PO-Revision-Date: 2015-04-06 10:23+0000\n" -"Last-Translator: Tubuntu \n" +"PO-Revision-Date: 2015-04-14 10:22+0000\n" +"Last-Translator: StefOfficiel \n" "Language-Team: French (http://www.transifex.com/projects/p/friendica/language/fr/)\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -417,7 +418,7 @@ msgstr "activ. mobile" #: ../../addon-wrk/openidserver/lib/render/trust.php:30 #, php-format msgid "Do you wish to confirm your identity (%s) with %s" -msgstr "Voulez-vous confirmer votre identité (%s) avec %s" +msgstr "Voulez-vous confirmer votre identité (%s) avec %se" #: ../../addon-wrk/openidserver/lib/render/trust.php:43 #: ../../mod/dfrn_request.php:676 @@ -635,7 +636,7 @@ msgstr "Rappels d'événements" #: ../../boot.php:1889 msgid "Events this week:" -msgstr "Evénements cette semaine:" +msgstr "Evénements cette semaine :" #: ../../boot.php:2126 ../../include/nav.php:76 msgid "Status" @@ -1198,7 +1199,7 @@ msgstr "Merci de visiter %s pour approuver ou rejeter l'introduction." #: ../../include/enotify.php:247 msgid "[Friendica:Notify] A new person is sharing with you" -msgstr "" +msgstr "[Notification Friendica] Une nouvelle personne partage avec vous" #: ../../include/enotify.php:248 ../../include/enotify.php:249 #, php-format @@ -3084,7 +3085,7 @@ msgstr "ajouter une étiquette" #: ../../object/Item.php:231 ../../mod/photos.php:1542 #: ../../mod/content.php:684 msgid "I like this (toggle)" -msgstr "J'aime (bascule)" +msgstr "J'aime" #: ../../object/Item.php:231 ../../mod/content.php:684 msgid "like" @@ -3093,7 +3094,7 @@ msgstr "aime" #: ../../object/Item.php:232 ../../mod/photos.php:1543 #: ../../mod/content.php:685 msgid "I don't like this (toggle)" -msgstr "Je n'aime pas (bascule)" +msgstr "Je n'aime pas" #: ../../object/Item.php:232 ../../mod/content.php:685 msgid "dislike" @@ -6369,7 +6370,7 @@ msgstr "Envoyer des invitations" #: ../../mod/invite.php:133 msgid "Enter email addresses, one per line:" -msgstr "Entrez les adresses email, une par ligne:" +msgstr "Entrez les adresses email, une par ligne :" #: ../../mod/invite.php:135 msgid "" @@ -6379,12 +6380,12 @@ msgstr "Vous êtes cordialement invité à me rejoindre sur Friendica, et nous a #: ../../mod/invite.php:137 msgid "You will need to supply this invitation code: $invite_code" -msgstr "Vous devrez fournir ce code d'invitation: $invite_code" +msgstr "Vous devrez fournir ce code d'invitation : $invite_code" #: ../../mod/invite.php:137 msgid "" "Once you have registered, please connect with me via my profile page at:" -msgstr "Une fois inscrit, connectez-vous à la page de mon profil sur:" +msgstr "Une fois inscrit, connectez-vous à la page de mon profil sur :" #: ../../mod/invite.php:139 msgid "" @@ -6502,7 +6503,7 @@ msgstr "Votre mot de passe a été modifié à %s" #: ../../mod/lostpass.php:159 msgid "Forgot your Password?" -msgstr "Mot de passe oublié?" +msgstr "Mot de passe oublié ?" #: ../../mod/lostpass.php:160 msgid "" @@ -6512,7 +6513,7 @@ msgstr "Entrez votre adresse de courriel et validez pour réinitialiser votre mo #: ../../mod/lostpass.php:161 msgid "Nickname or Email: " -msgstr "Pseudo ou Courriel: " +msgstr "Pseudo ou eMail : " #: ../../mod/lostpass.php:162 msgid "Reset" @@ -6528,7 +6529,7 @@ msgstr "Texte source (Diaspora) à convertir en BBcode :" #: ../../mod/babel.php:31 msgid "Source input: " -msgstr "Source input: " +msgstr "Source input : " #: ../../mod/babel.php:35 msgid "bb2html (raw HTML): " @@ -6536,27 +6537,27 @@ msgstr "bb2html (HTML brut)" #: ../../mod/babel.php:39 msgid "bb2html: " -msgstr "bb2html: " +msgstr "bb2html : " #: ../../mod/babel.php:43 msgid "bb2html2bb: " -msgstr "bb2html2bb: " +msgstr "bb2html2bb : " #: ../../mod/babel.php:47 msgid "bb2md: " -msgstr "bb2md: " +msgstr "bb2md : " #: ../../mod/babel.php:51 msgid "bb2md2html: " -msgstr "bb2md2html: " +msgstr "bb2md2html : " #: ../../mod/babel.php:55 msgid "bb2dia2bb: " -msgstr "bb2dia2bb: " +msgstr "bb2dia2bb : " #: ../../mod/babel.php:59 msgid "bb2md2html2bb: " -msgstr "bb2md2html2bb: " +msgstr "bb2md2html2bb : " #: ../../mod/babel.php:69 msgid "Source input (Diaspora format): " @@ -6590,7 +6591,7 @@ msgstr "Ceci supprimera totalement votre compte. Cette opération est irréversi #: ../../mod/removeme.php:48 msgid "Please enter your password for verification:" -msgstr "Merci de saisir votre mot de passe pour vérification:" +msgstr "Merci de saisir votre mot de passe pour vérification :" #: ../../mod/profperm.php:25 ../../mod/profperm.php:55 msgid "Invalid profile identifier." @@ -6618,7 +6619,7 @@ msgstr "Aucun mot-clé en correspondance. Merci d'ajouter des mots-clés à votr #: ../../mod/match.php:57 msgid "is interested in:" -msgstr "s'intéresse à:" +msgstr "s'intéresse à :" #: ../../mod/events.php:66 msgid "Event title and start time are required." @@ -6659,7 +6660,7 @@ msgstr "Le format est %s %s. La date de début et le nom sont nécessaires." #: ../../mod/events.php:459 msgid "Event Starts:" -msgstr "Début de l'événement:" +msgstr "Début de l'événement :" #: ../../mod/events.php:459 ../../mod/events.php:473 msgid "Required" @@ -6667,7 +6668,7 @@ msgstr "Requis" #: ../../mod/events.php:462 msgid "Finish date/time is not known or not relevant" -msgstr "Date/heure de fin inconnue ou sans objet" +msgstr "Date / heure de fin inconnue ou sans objet" #: ../../mod/events.php:464 msgid "Event Finishes:" @@ -6851,7 +6852,7 @@ msgstr "Statut marital" #: ../../mod/profiles.php:344 msgid "Romantic Partner" -msgstr "Partenaire/conjoint" +msgstr "Partenaire / conjoint" #: ../../mod/profiles.php:348 msgid "Likes" @@ -6863,7 +6864,7 @@ msgstr "Derniers \"Je n'aime pas\"" #: ../../mod/profiles.php:356 msgid "Work/Employment" -msgstr "Travail/Occupation" +msgstr "Travail / Occupation" #: ../../mod/profiles.php:359 msgid "Religion" @@ -6926,11 +6927,11 @@ msgstr "%1$s a mis à jour son %2$s, en modifiant %3$s." #: ../../mod/profiles.php:658 msgid "Hide contacts and friends:" -msgstr "Cacher mes contacts et amis:" +msgstr "Cacher mes contacts et amis :" #: ../../mod/profiles.php:663 msgid "Hide your contact/friend list from viewers of this profile?" -msgstr "Cacher ma liste d'amis/contacts des visiteurs de ce profil?" +msgstr "Cacher ma liste d'amis / contacts des visiteurs de ce profil ?" #: ../../mod/profiles.php:685 msgid "Edit Profile Details" @@ -6983,52 +6984,52 @@ msgstr "Téléverser une photo de profil" #: ../../mod/profiles.php:700 msgid "Profile Name:" -msgstr "Nom du profil:" +msgstr "Nom du profil :" #: ../../mod/profiles.php:701 msgid "Your Full Name:" -msgstr "Votre nom complet:" +msgstr "Votre nom complet :" #: ../../mod/profiles.php:702 msgid "Title/Description:" -msgstr "Titre/Description:" +msgstr "Titre / Description :" #: ../../mod/profiles.php:703 msgid "Your Gender:" -msgstr "Votre genre:" +msgstr "Votre genre :" #: ../../mod/profiles.php:704 #, php-format msgid "Birthday (%s):" -msgstr "Anniversaire (%s):" +msgstr "Anniversaire (%s) :" #: ../../mod/profiles.php:705 msgid "Street Address:" -msgstr "Adresse postale:" +msgstr "Adresse postale :" #: ../../mod/profiles.php:706 msgid "Locality/City:" -msgstr "Ville/Localité:" +msgstr "Ville / Localité :" #: ../../mod/profiles.php:707 msgid "Postal/Zip Code:" -msgstr "Code postal:" +msgstr "Code postal :" #: ../../mod/profiles.php:708 msgid "Country:" -msgstr "Pays:" +msgstr "Pays :" #: ../../mod/profiles.php:709 msgid "Region/State:" -msgstr "Région/État:" +msgstr "Région / État :" #: ../../mod/profiles.php:710 msgid " Marital Status:" -msgstr " Statut marital:" +msgstr " Statut marital :" #: ../../mod/profiles.php:711 msgid "Who: (if applicable)" -msgstr "Qui: (si pertinent)" +msgstr "Qui : (si pertinent)" #: ../../mod/profiles.php:712 msgid "Examples: cathy123, Cathy Williams, cathy@example.com" @@ -7036,27 +7037,27 @@ msgstr "Exemples: cathy123, Cathy Williams, cathy@example.com" #: ../../mod/profiles.php:713 msgid "Since [date]:" -msgstr "Depuis [date] :" +msgstr "Depuis [date] :" #: ../../mod/profiles.php:715 msgid "Homepage URL:" -msgstr "Page personnelle:" +msgstr "Page personnelle :" #: ../../mod/profiles.php:718 msgid "Religious Views:" -msgstr "Opinions religieuses:" +msgstr "Opinions religieuses :" #: ../../mod/profiles.php:719 msgid "Public Keywords:" -msgstr "Mots-clés publics:" +msgstr "Mots-clés publics :" #: ../../mod/profiles.php:720 msgid "Private Keywords:" -msgstr "Mots-clés privés:" +msgstr "Mots-clés privés :" #: ../../mod/profiles.php:723 msgid "Example: fishing photography software" -msgstr "Exemple: football dessin programmation" +msgstr "Exemple : football dessin programmation" #: ../../mod/profiles.php:724 msgid "(Used for suggesting potential friends, can be seen by others)" @@ -7072,11 +7073,11 @@ msgstr "Parlez-nous de vous..." #: ../../mod/profiles.php:727 msgid "Hobbies/Interests" -msgstr "Passe-temps/Centres d'intérêt" +msgstr "Passe-temps / Centres d'intérêt" #: ../../mod/profiles.php:728 msgid "Contact information and Social Networks" -msgstr "Coordonnées/Réseaux sociaux" +msgstr "Coordonnées / Réseaux sociaux" #: ../../mod/profiles.php:729 msgid "Musical interests" @@ -7092,19 +7093,19 @@ msgstr "Télévision" #: ../../mod/profiles.php:732 msgid "Film/dance/culture/entertainment" -msgstr "Cinéma/Danse/Culture/Divertissement" +msgstr "Cinéma / Danse / Culture / Divertissement" #: ../../mod/profiles.php:733 msgid "Love/romance" -msgstr "Amour/Romance" +msgstr "Amour / Romance" #: ../../mod/profiles.php:734 msgid "Work/employment" -msgstr "Activité professionnelle/Occupation" +msgstr "Activité professionnelle / Occupation" #: ../../mod/profiles.php:735 msgid "School/education" -msgstr "Études/Formation" +msgstr "Études / Formation" #: ../../mod/profiles.php:740 msgid "" @@ -7114,11 +7115,11 @@ msgstr "Ceci est votre profil public.
Il peutEnsuite" msgid "" "IMPORTANT: You will need to [manually] setup a scheduled task for the " "poller." -msgstr "IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le 'poller'." +msgstr "IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le \"poller\"." #: ../../mod/help.php:31 msgid "Help:" -msgstr "Aide:" +msgstr "Aide :" #: ../../mod/crepair.php:106 msgid "Contact settings applied." @@ -7655,7 +7656,7 @@ msgstr "Une fois que vous avez trouvé quelques amis, organisez-les en groupes d #: ../../mod/newmember.php:73 msgid "Why Aren't My Posts Public?" -msgstr "Pourquoi mes éléments ne sont pas publics?" +msgstr "Pourquoi mes éléments ne sont pas publics ?" #: ../../mod/newmember.php:73 msgid "" @@ -7724,7 +7725,7 @@ msgstr "Réponse du site distant incomprise." #: ../../mod/dfrn_confirm.php:249 ../../mod/dfrn_confirm.php:254 msgid "Unexpected response from remote site: " -msgstr "Réponse inattendue du site distant: " +msgstr "Réponse inattendue du site distant : " #: ../../mod/dfrn_confirm.php:263 msgid "Confirmation completed successfully." @@ -7733,7 +7734,7 @@ msgstr "Confirmation achevée avec succès." #: ../../mod/dfrn_confirm.php:265 ../../mod/dfrn_confirm.php:279 #: ../../mod/dfrn_confirm.php:286 msgid "Remote site reported: " -msgstr "Alerte du site distant: " +msgstr "Alerte du site distant : " #: ../../mod/dfrn_confirm.php:277 msgid "Temporary failure. Please wait and try again." @@ -7898,7 +7899,7 @@ msgstr "Annuaire local" #: ../../mod/directory.php:116 msgid "Gender: " -msgstr "Genre: " +msgstr "Genre : " #: ../../mod/directory.php:189 msgid "No entries (some entries may be hidden)." diff --git a/view/fr/strings.php b/view/fr/strings.php index 229ac9b63..168c78681 100644 --- a/view/fr/strings.php +++ b/view/fr/strings.php @@ -76,7 +76,7 @@ $a->strings["Page not found."] = "Page introuvable."; $a->strings["Permission denied"] = "Permission refusée"; $a->strings["Permission denied."] = "Permission refusée."; $a->strings["toggle mobile"] = "activ. mobile"; -$a->strings["Do you wish to confirm your identity (%s) with %s"] = "Voulez-vous confirmer votre identité (%s) avec %s"; +$a->strings["Do you wish to confirm your identity (%s) with %s"] = "Voulez-vous confirmer votre identité (%s) avec %se"; $a->strings["Confirm"] = "Confirmer"; $a->strings["Do not confirm"] = "Ne pas confirmer"; $a->strings["Trust This Site"] = "Faire confiance à ce site"; @@ -127,7 +127,7 @@ $a->strings["Birthday Reminders"] = "Rappels d'anniversaires"; $a->strings["Birthdays this week:"] = "Anniversaires cette semaine:"; $a->strings["[No description]"] = "[Sans description]"; $a->strings["Event Reminders"] = "Rappels d'événements"; -$a->strings["Events this week:"] = "Evénements cette semaine:"; +$a->strings["Events this week:"] = "Evénements cette semaine :"; $a->strings["Status"] = "Statut"; $a->strings["Status Messages and Posts"] = "Messages d'état et publications"; $a->strings["Profile Details"] = "Détails du profil"; @@ -255,7 +255,7 @@ $a->strings["You've received an introduction from '%1\$s' at %2\$s"] = "Vous ave $a->strings["You've received [url=%1\$s]an introduction[/url] from %2\$s."] = "Vous avez reçu [url=%1\$s]une introduction[/url] de %2\$s."; $a->strings["You may visit their profile at %s"] = "Vous pouvez visiter son profil sur %s"; $a->strings["Please visit %s to approve or reject the introduction."] = "Merci de visiter %s pour approuver ou rejeter l'introduction."; -$a->strings["[Friendica:Notify] A new person is sharing with you"] = ""; +$a->strings["[Friendica:Notify] A new person is sharing with you"] = "[Notification Friendica] Une nouvelle personne partage avec vous"; $a->strings["%1\$s is sharing with you at %2\$s"] = ""; $a->strings["[Friendica:Notify] You have a new follower"] = ""; $a->strings["You have a new follower at %2\$s : %1\$s"] = ""; @@ -696,9 +696,9 @@ $a->strings["unignore thread"] = "Ne plus ignorer le fil"; $a->strings["toggle ignore status"] = "Ignorer le statut"; $a->strings["ignored"] = "ignoré"; $a->strings["add tag"] = "ajouter une étiquette"; -$a->strings["I like this (toggle)"] = "J'aime (bascule)"; +$a->strings["I like this (toggle)"] = "J'aime"; $a->strings["like"] = "aime"; -$a->strings["I don't like this (toggle)"] = "Je n'aime pas (bascule)"; +$a->strings["I don't like this (toggle)"] = "Je n'aime pas"; $a->strings["dislike"] = "n'aime pas"; $a->strings["Share this"] = "Partager"; $a->strings["share"] = "partager"; @@ -1462,10 +1462,10 @@ $a->strings["To accept this invitation, please visit and register at %s or any o $a->strings["Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join."] = "Les sites Friendica sont tous interconnectés pour créer un immense réseau social respectueux de la vie privée, possédé et contrôllé par ses membres. Ils peuvent également interagir avec plusieurs réseaux sociaux traditionnels. Voir %s pour une liste d'autres sites Friendica que vous pourriez rejoindre."; $a->strings["Our apologies. This system is not currently configured to connect with other public sites or invite members."] = "Toutes nos excuses. Ce système n'est pas configuré pour se connecter à d'autres sites publics ou inviter de nouveaux membres."; $a->strings["Send invitations"] = "Envoyer des invitations"; -$a->strings["Enter email addresses, one per line:"] = "Entrez les adresses email, une par ligne:"; +$a->strings["Enter email addresses, one per line:"] = "Entrez les adresses email, une par ligne :"; $a->strings["You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web."] = "Vous êtes cordialement invité à me rejoindre sur Friendica, et nous aider ainsi à créer un meilleur web social."; -$a->strings["You will need to supply this invitation code: \$invite_code"] = "Vous devrez fournir ce code d'invitation: \$invite_code"; -$a->strings["Once you have registered, please connect with me via my profile page at:"] = "Une fois inscrit, connectez-vous à la page de mon profil sur:"; +$a->strings["You will need to supply this invitation code: \$invite_code"] = "Vous devrez fournir ce code d'invitation : \$invite_code"; +$a->strings["Once you have registered, please connect with me via my profile page at:"] = "Une fois inscrit, connectez-vous à la page de mon profil sur :"; $a->strings["For more information about the Friendica project and why we feel it is important, please visit http://friendica.com"] = "Pour plus d'information sur le projet Friendica, et pourquoi nous croyons qu'il est important, merci de visiter http://friendica.com"; $a->strings["Access denied."] = "Accès refusé."; $a->strings["No valid account found."] = "Impossible de trouver un compte valide."; @@ -1482,20 +1482,20 @@ $a->strings["Your password may be changed from the Settings page after $a->strings["\n\t\t\t\tDear %1\$s,\n\t\t\t\t\tYour password has been changed as requested. Please retain this\n\t\t\t\tinformation for your records (or change your password immediately to\n\t\t\t\tsomething that you will remember).\n\t\t\t"] = "\n\t\t\t\tChère/Cher %1\$s,\n\t\t\t\t\tVotre mot de passe a été changé ainsi que vous l’avez demandé. Veuillez conserver cette informations dans vos archives (ou changer immédiatement votre mot de passe pour un autre dont vous vous souviendrez).\n\t\t\t"; $a->strings["\n\t\t\t\tYour login details are as follows:\n\n\t\t\t\tSite Location:\t%1\$s\n\t\t\t\tLogin Name:\t%2\$s\n\t\t\t\tPassword:\t%3\$s\n\n\t\t\t\tYou may change that password from your account settings page after logging in.\n\t\t\t"] = "\n\t\t\t\tVoici vos informations de connexion :\n\n\t\t\t\tAdresse :\t%1\$s\n\t\t\t\tIdentifiant :\t%2\$s\n\t\t\t\tMot de passe :\t%3\$s\n\n\t\t\t\tVous pourrez changer votre mot de passe dans les paramètres de votre compte une fois connecté.\n\t\t\t"; $a->strings["Your password has been changed at %s"] = "Votre mot de passe a été modifié à %s"; -$a->strings["Forgot your Password?"] = "Mot de passe oublié?"; +$a->strings["Forgot your Password?"] = "Mot de passe oublié ?"; $a->strings["Enter your email address and submit to have your password reset. Then check your email for further instructions."] = "Entrez votre adresse de courriel et validez pour réinitialiser votre mot de passe. Vous recevrez la suite des instructions par courriel."; -$a->strings["Nickname or Email: "] = "Pseudo ou Courriel: "; +$a->strings["Nickname or Email: "] = "Pseudo ou eMail : "; $a->strings["Reset"] = "Réinitialiser"; $a->strings["Source (bbcode) text:"] = "Texte source (bbcode) :"; $a->strings["Source (Diaspora) text to convert to BBcode:"] = "Texte source (Diaspora) à convertir en BBcode :"; -$a->strings["Source input: "] = "Source input: "; +$a->strings["Source input: "] = "Source input : "; $a->strings["bb2html (raw HTML): "] = "bb2html (HTML brut)"; -$a->strings["bb2html: "] = "bb2html: "; -$a->strings["bb2html2bb: "] = "bb2html2bb: "; -$a->strings["bb2md: "] = "bb2md: "; -$a->strings["bb2md2html: "] = "bb2md2html: "; -$a->strings["bb2dia2bb: "] = "bb2dia2bb: "; -$a->strings["bb2md2html2bb: "] = "bb2md2html2bb: "; +$a->strings["bb2html: "] = "bb2html : "; +$a->strings["bb2html2bb: "] = "bb2html2bb : "; +$a->strings["bb2md: "] = "bb2md : "; +$a->strings["bb2md2html: "] = "bb2md2html : "; +$a->strings["bb2dia2bb: "] = "bb2dia2bb : "; +$a->strings["bb2md2html2bb: "] = "bb2md2html2bb : "; $a->strings["Source input (Diaspora format): "] = "Texte source (format Diaspora) :"; $a->strings["diaspora2bb: "] = "diaspora2bb :"; $a->strings["Tag removed"] = "Étiquette supprimée"; @@ -1503,14 +1503,14 @@ $a->strings["Remove Item Tag"] = "Enlever l'étiquette de l'élément"; $a->strings["Select a tag to remove: "] = "Sélectionner une étiquette à supprimer: "; $a->strings["Remove My Account"] = "Supprimer mon compte"; $a->strings["This will completely remove your account. Once this has been done it is not recoverable."] = "Ceci supprimera totalement votre compte. Cette opération est irréversible."; -$a->strings["Please enter your password for verification:"] = "Merci de saisir votre mot de passe pour vérification:"; +$a->strings["Please enter your password for verification:"] = "Merci de saisir votre mot de passe pour vérification :"; $a->strings["Invalid profile identifier."] = "Identifiant de profil invalide."; $a->strings["Profile Visibility Editor"] = "Éditer la visibilité du profil"; $a->strings["Visible To"] = "Visible par"; $a->strings["All Contacts (with secure profile access)"] = "Tous les contacts (ayant un accès sécurisé)"; $a->strings["Profile Match"] = "Correpondance de profils"; $a->strings["No keywords to match. Please add keywords to your default profile."] = "Aucun mot-clé en correspondance. Merci d'ajouter des mots-clés à votre profil par défaut."; -$a->strings["is interested in:"] = "s'intéresse à:"; +$a->strings["is interested in:"] = "s'intéresse à :"; $a->strings["Event title and start time are required."] = "Vous devez donner un nom et un horaire de début à l'événement."; $a->strings["l, F j"] = "l, F j"; $a->strings["Edit event"] = "Editer l'événement"; @@ -1520,9 +1520,9 @@ $a->strings["Next"] = "Suivant"; $a->strings["hour:minute"] = "heures:minutes"; $a->strings["Event details"] = "Détails de l'événement"; $a->strings["Format is %s %s. Starting date and Title are required."] = "Le format est %s %s. La date de début et le nom sont nécessaires."; -$a->strings["Event Starts:"] = "Début de l'événement:"; +$a->strings["Event Starts:"] = "Début de l'événement :"; $a->strings["Required"] = "Requis"; -$a->strings["Finish date/time is not known or not relevant"] = "Date/heure de fin inconnue ou sans objet"; +$a->strings["Finish date/time is not known or not relevant"] = "Date / heure de fin inconnue ou sans objet"; $a->strings["Event Finishes:"] = "Fin de l'événement:"; $a->strings["Adjust for viewer timezone"] = "Ajuster à la zone horaire du visiteur"; $a->strings["Description:"] = "Description:"; @@ -1567,10 +1567,10 @@ $a->strings["New profile created."] = "Nouveau profil créé."; $a->strings["Profile unavailable to clone."] = "Ce profil ne peut être cloné."; $a->strings["Profile Name is required."] = "Le nom du profil est requis."; $a->strings["Marital Status"] = "Statut marital"; -$a->strings["Romantic Partner"] = "Partenaire/conjoint"; +$a->strings["Romantic Partner"] = "Partenaire / conjoint"; $a->strings["Likes"] = "Derniers \"J'aime\""; $a->strings["Dislikes"] = "Derniers \"Je n'aime pas\""; -$a->strings["Work/Employment"] = "Travail/Occupation"; +$a->strings["Work/Employment"] = "Travail / Occupation"; $a->strings["Religion"] = "Religion"; $a->strings["Political Views"] = "Tendance politique"; $a->strings["Gender"] = "Sexe"; @@ -1585,8 +1585,8 @@ $a->strings["public profile"] = "profil public"; $a->strings["%1\$s changed %2\$s to “%3\$s”"] = "%1\$s a changé %2\$s en “%3\$s”"; $a->strings[" - Visit %1\$s's %2\$s"] = "Visiter le %2\$s de %1\$s"; $a->strings["%1\$s has an updated %2\$s, changing %3\$s."] = "%1\$s a mis à jour son %2\$s, en modifiant %3\$s."; -$a->strings["Hide contacts and friends:"] = "Cacher mes contacts et amis:"; -$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Cacher ma liste d'amis/contacts des visiteurs de ce profil?"; +$a->strings["Hide contacts and friends:"] = "Cacher mes contacts et amis :"; +$a->strings["Hide your contact/friend list from viewers of this profile?"] = "Cacher ma liste d'amis / contacts des visiteurs de ce profil ?"; $a->strings["Edit Profile Details"] = "Éditer les détails du profil"; $a->strings["Change Profile Photo"] = "Changer la photo du profil"; $a->strings["View this profile"] = "Voir ce profil"; @@ -1599,40 +1599,40 @@ $a->strings["Preferences"] = "Préférences"; $a->strings["Status information"] = "Information sur le statut"; $a->strings["Additional information"] = "Information additionnelle"; $a->strings["Upload Profile Photo"] = "Téléverser une photo de profil"; -$a->strings["Profile Name:"] = "Nom du profil:"; -$a->strings["Your Full Name:"] = "Votre nom complet:"; -$a->strings["Title/Description:"] = "Titre/Description:"; -$a->strings["Your Gender:"] = "Votre genre:"; -$a->strings["Birthday (%s):"] = "Anniversaire (%s):"; -$a->strings["Street Address:"] = "Adresse postale:"; -$a->strings["Locality/City:"] = "Ville/Localité:"; -$a->strings["Postal/Zip Code:"] = "Code postal:"; -$a->strings["Country:"] = "Pays:"; -$a->strings["Region/State:"] = "Région/État:"; -$a->strings[" Marital Status:"] = " Statut marital:"; -$a->strings["Who: (if applicable)"] = "Qui: (si pertinent)"; +$a->strings["Profile Name:"] = "Nom du profil :"; +$a->strings["Your Full Name:"] = "Votre nom complet :"; +$a->strings["Title/Description:"] = "Titre / Description :"; +$a->strings["Your Gender:"] = "Votre genre :"; +$a->strings["Birthday (%s):"] = "Anniversaire (%s) :"; +$a->strings["Street Address:"] = "Adresse postale :"; +$a->strings["Locality/City:"] = "Ville / Localité :"; +$a->strings["Postal/Zip Code:"] = "Code postal :"; +$a->strings["Country:"] = "Pays :"; +$a->strings["Region/State:"] = "Région / État :"; +$a->strings[" Marital Status:"] = " Statut marital :"; +$a->strings["Who: (if applicable)"] = "Qui : (si pertinent)"; $a->strings["Examples: cathy123, Cathy Williams, cathy@example.com"] = "Exemples: cathy123, Cathy Williams, cathy@example.com"; -$a->strings["Since [date]:"] = "Depuis [date] :"; -$a->strings["Homepage URL:"] = "Page personnelle:"; -$a->strings["Religious Views:"] = "Opinions religieuses:"; -$a->strings["Public Keywords:"] = "Mots-clés publics:"; -$a->strings["Private Keywords:"] = "Mots-clés privés:"; -$a->strings["Example: fishing photography software"] = "Exemple: football dessin programmation"; +$a->strings["Since [date]:"] = "Depuis [date] :"; +$a->strings["Homepage URL:"] = "Page personnelle :"; +$a->strings["Religious Views:"] = "Opinions religieuses :"; +$a->strings["Public Keywords:"] = "Mots-clés publics :"; +$a->strings["Private Keywords:"] = "Mots-clés privés :"; +$a->strings["Example: fishing photography software"] = "Exemple : football dessin programmation"; $a->strings["(Used for suggesting potential friends, can be seen by others)"] = "(Utilisés pour vous suggérer des amis potentiels, peuvent être vus par autrui)"; $a->strings["(Used for searching profiles, never shown to others)"] = "(Utilisés pour rechercher dans les profils, ne seront jamais montrés à autrui)"; $a->strings["Tell us about yourself..."] = "Parlez-nous de vous..."; -$a->strings["Hobbies/Interests"] = "Passe-temps/Centres d'intérêt"; -$a->strings["Contact information and Social Networks"] = "Coordonnées/Réseaux sociaux"; +$a->strings["Hobbies/Interests"] = "Passe-temps / Centres d'intérêt"; +$a->strings["Contact information and Social Networks"] = "Coordonnées / Réseaux sociaux"; $a->strings["Musical interests"] = "Goûts musicaux"; $a->strings["Books, literature"] = "Lectures"; $a->strings["Television"] = "Télévision"; -$a->strings["Film/dance/culture/entertainment"] = "Cinéma/Danse/Culture/Divertissement"; -$a->strings["Love/romance"] = "Amour/Romance"; -$a->strings["Work/employment"] = "Activité professionnelle/Occupation"; -$a->strings["School/education"] = "Études/Formation"; +$a->strings["Film/dance/culture/entertainment"] = "Cinéma / Danse / Culture / Divertissement"; +$a->strings["Love/romance"] = "Amour / Romance"; +$a->strings["Work/employment"] = "Activité professionnelle / Occupation"; +$a->strings["School/education"] = "Études / Formation"; $a->strings["This is your public profile.
It may be visible to anybody using the internet."] = "Ceci est votre profil public.
Il peut être visible par n'importe quel utilisateur d'Internet."; -$a->strings["Age: "] = "Age: "; -$a->strings["Edit/Manage Profiles"] = "Editer/gérer les profils"; +$a->strings["Age: "] = "Age : "; +$a->strings["Edit/Manage Profiles"] = "Editer / gérer les profils"; $a->strings["Friendica Communications Server - Setup"] = "Serveur de communications Friendica - Configuration"; $a->strings["Could not connect to database."] = "Impossible de se connecter à la base."; $a->strings["Could not create table."] = "Impossible de créer une table."; @@ -1673,12 +1673,12 @@ $a->strings["OpenSSL PHP module"] = "Module OpenSSL de PHP"; $a->strings["mysqli PHP module"] = "Module Mysqli de PHP"; $a->strings["mb_string PHP module"] = "Module mb_string de PHP"; $a->strings["Apache mod_rewrite module"] = "Module mod_rewrite Apache"; -$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur: Le module \"rewrite\" du serveur web Apache est requis mais pas installé."; -$a->strings["Error: libCURL PHP module required but not installed."] = "Erreur: Le module PHP \"libCURL\" est requis mais pas installé."; -$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erreur: Le module PHP \"GD\" disposant du support JPEG est requis mais pas installé."; -$a->strings["Error: openssl PHP module required but not installed."] = "Erreur: Le module PHP \"openssl\" est requis mais pas installé."; -$a->strings["Error: mysqli PHP module required but not installed."] = "Erreur: Le module PHP \"mysqli\" est requis mais pas installé."; -$a->strings["Error: mb_string PHP module required but not installed."] = "Erreur: le module PHP mb_string est requis mais pas installé."; +$a->strings["Error: Apache webserver mod-rewrite module is required but not installed."] = "Erreur : Le module \"rewrite\" du serveur web Apache est requis mais pas installé."; +$a->strings["Error: libCURL PHP module required but not installed."] = "Erreur : Le module PHP \"libCURL\" est requis mais pas installé."; +$a->strings["Error: GD graphics PHP module with JPEG support required but not installed."] = "Erreur : Le module PHP \"GD\" disposant du support JPEG est requis mais pas installé."; +$a->strings["Error: openssl PHP module required but not installed."] = "Erreur : Le module PHP \"openssl\" est requis mais pas installé."; +$a->strings["Error: mysqli PHP module required but not installed."] = "Erreur : Le module PHP \"mysqli\" est requis mais pas installé."; +$a->strings["Error: mb_string PHP module required but not installed."] = "Erreur : le module PHP mb_string est requis mais pas installé."; $a->strings["The web installer needs to be able to create a file called \".htconfig.php\" in the top folder of your web server and it is unable to do so."] = "L'installeur web doit être en mesure de créer un fichier \".htconfig.php\" à la racine de votre serveur web, mais il en est incapable."; $a->strings["This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can."] = "Le plus souvent, il s'agit d'un problème de permission. Le serveur web peut ne pas être capable d'écrire dans votre répertoire - alors que vous-même le pouvez."; $a->strings["At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder."] = "A la fin de cette étape, nous vous fournirons un texte à sauvegarder dans un fichier nommé .htconfig.php à la racine de votre répertoire Friendica."; @@ -1693,8 +1693,8 @@ $a->strings["Url rewrite in .htaccess is not working. Check your server configur $a->strings["Url rewrite is working"] = "La réécriture d'URL fonctionne."; $a->strings["The database configuration file \".htconfig.php\" could not be written. Please use the enclosed text to create a configuration file in your web server root."] = "Le fichier de configuration de la base (\".htconfig.php\") ne peut être créé. Merci d'utiliser le texte ci-joint pour créer ce fichier à la racine de votre hébergement."; $a->strings["

What next

"] = "

Ensuite

"; -$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le 'poller'."; -$a->strings["Help:"] = "Aide:"; +$a->strings["IMPORTANT: You will need to [manually] setup a scheduled task for the poller."] = "IMPORTANT: Vous devez configurer [manuellement] une tâche programmée pour le \"poller\"."; +$a->strings["Help:"] = "Aide :"; $a->strings["Contact settings applied."] = "Réglages du contact appliqués."; $a->strings["Contact update failed."] = "Impossible d'appliquer les réglages."; $a->strings["Repair Contact Settings"] = "Réglages de réparation des contacts"; @@ -1742,7 +1742,7 @@ $a->strings["Finding New People"] = "Trouver de nouvelles personnes"; $a->strings["On the side panel of the Contacts page are several tools to find new friends. We can match people by interest, look up people by name or interest, and provide suggestions based on network relationships. On a brand new site, friend suggestions will usually begin to be populated within 24 hours."] = "Sur le panneau latéral de la page Contacts, il y a plusieurs moyens de trouver de nouveaux amis. Nous pouvons mettre les gens en relation selon leurs intérêts, rechercher des amis par nom ou intérêt, et fournir des suggestions en fonction de la topologie du réseau. Sur un site tout neuf, les suggestions d'amitié devraient commencer à apparaître au bout de 24 heures."; $a->strings["Group Your Contacts"] = "Grouper vos contacts"; $a->strings["Once you have made some friends, organize them into private conversation groups from the sidebar of your Contacts page and then you can interact with each group privately on your Network page."] = "Une fois que vous avez trouvé quelques amis, organisez-les en groupes de conversation privés depuis le panneau latéral de la page Contacts. Vous pourrez ensuite interagir avec chaque groupe de manière privée depuis la page Réseau."; -$a->strings["Why Aren't My Posts Public?"] = "Pourquoi mes éléments ne sont pas publics?"; +$a->strings["Why Aren't My Posts Public?"] = "Pourquoi mes éléments ne sont pas publics ?"; $a->strings["Friendica respects your privacy. By default, your posts will only show up to people you've added as friends. For more information, see the help section from the link above."] = "Friendica respecte votre vie privée. Par défaut, toutes vos publications seront seulement montrés à vos amis. Pour plus d'information, consultez la section \"aide\" du lien ci-dessus."; $a->strings["Getting Help"] = "Obtenir de l'aide"; $a->strings["Go to the Help Section"] = "Aller à la section Aide"; @@ -1757,9 +1757,9 @@ $a->strings["%1\$s is following %2\$s's %3\$s"] = "%1\$s suit les %3\$s de %2\$s $a->strings["%1\$s welcomes %2\$s"] = "%1\$s accueille %2\$s"; $a->strings["This may occasionally happen if contact was requested by both persons and it has already been approved."] = "Ceci peut se produire lorsque le contact a été requis par les deux personnes et a déjà été approuvé."; $a->strings["Response from remote site was not understood."] = "Réponse du site distant incomprise."; -$a->strings["Unexpected response from remote site: "] = "Réponse inattendue du site distant: "; +$a->strings["Unexpected response from remote site: "] = "Réponse inattendue du site distant : "; $a->strings["Confirmation completed successfully."] = "Confirmation achevée avec succès."; -$a->strings["Remote site reported: "] = "Alerte du site distant: "; +$a->strings["Remote site reported: "] = "Alerte du site distant : "; $a->strings["Temporary failure. Please wait and try again."] = "Échec temporaire. Merci de recommencer ultérieurement."; $a->strings["Introduction failed or was revoked."] = "Introduction échouée ou annulée."; $a->strings["Unable to set contact photo."] = "Impossible de définir la photo du contact."; @@ -1796,7 +1796,7 @@ $a->strings["Friends of %s"] = "Amis de %s"; $a->strings["No friends to display."] = "Pas d'amis à afficher."; $a->strings["Find on this site"] = "Trouver sur ce site"; $a->strings["Site Directory"] = "Annuaire local"; -$a->strings["Gender: "] = "Genre: "; +$a->strings["Gender: "] = "Genre : "; $a->strings["No entries (some entries may be hidden)."] = "Aucune entrée (certaines peuvent être cachées)."; $a->strings["Time Conversion"] = "Conversion temporelle"; $a->strings["Friendica provides this service for sharing events with other networks and friends in unknown timezones."] = "Friendica fournit ce service pour partager des événements avec d'autres réseaux et amis indépendament de leur fuseau horaire."; diff --git a/view/global.css b/view/global.css index c61ded6ae..628bac7cf 100644 --- a/view/global.css +++ b/view/global.css @@ -84,6 +84,10 @@ span.connector { position: relative; } +.embed_rich { + display: block; +} + /* Shared Messages */ .shared_header { height: 32px; diff --git a/view/templates/auto_request.tpl b/view/templates/auto_request.tpl index b987b7849..56653c655 100644 --- a/view/templates/auto_request.tpl +++ b/view/templates/auto_request.tpl @@ -20,16 +20,27 @@

{{/if}} +{{if $request}} +
+{{else}} +{{/if}} + +{{if $photo}} + +{{/if}}
{{if $myaddr}} {{$myaddr}} - + {{else}} {{/if}} + {{if $url}} + + {{/if}}
diff --git a/view/templates/crepair.tpl b/view/templates/crepair.tpl index a94f1f2d3..5b3a6281e 100644 --- a/view/templates/crepair.tpl +++ b/view/templates/crepair.tpl @@ -2,6 +2,12 @@

{{$contact_name}}

+
+{{if $update_profile}} + {{$udprofilenow}} +{{/if}} +
+
diff --git a/view/templates/dfrn_request.tpl b/view/templates/dfrn_request.tpl index 44c8ef1e6..6c63c5331 100644 --- a/view/templates/dfrn_request.tpl +++ b/view/templates/dfrn_request.tpl @@ -1,5 +1,3 @@ - -

{{$header}}

{{if $myaddr}} @@ -19,7 +17,15 @@

{{/if}} +{{if $request}} + +{{else}} +{{/if}} + +{{if $photo}} + +{{/if}}
@@ -29,6 +35,9 @@ {{else}} {{/if}} + {{if $url}} + + {{/if}}
diff --git a/view/templates/follow.tpl b/view/templates/follow.tpl index c4d188765..ece5ed17b 100644 --- a/view/templates/follow.tpl +++ b/view/templates/follow.tpl @@ -2,7 +2,7 @@

{{$connect}}

{{$desc}}
- +