Results for: documentation

Fabio 🎄
1 ano atrás

Oh, shit, git!

Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible. Git documentation has this chicken and egg problem where you can't search for how to get yourself out of a mess, unless you already know the name of the thing you need to know about in order to fix your problem.

So here are some bad situations I've gotten myself into, and how I eventually got myself out of them in plain english.
2 anos atrás
Thank you all for working on ~friendica ~friendica <3 #ilovefs

Be it with code, documentation, bug reports or silly questions to the support forum! Thanks for all of that :-D

@Friendica Support
2 anos atrás

Perpetually Talking Online

Read the full documentation on GitHub The latest release is available here If you find PTO useful, tell others about it! Perpetually Talking Online (PTO) is an IRC frontend to the federated Matrix network. It aims to enable as many people as possible to use an existing Matrix homeserver with their existing IRC clients, and provides a radically expa...
2 anos atrás

Tutorial — ownCloud Developer Manual 9.1 documentation

This tutorial will outline how to create a very simple notes app. The finished app is available on GitHub.

#owncloud #php #develpment
Michael Vogel
3 anos atrás
Doing the Release?
@Friendica Developers Currently there are no nasty bugs open and all pull requests are done. Isn't it the time to finally do the release? Currently I'm working at a completely new routine for probing contact urls. It is working but the code still needs documentation and I like to replace some more functions around this probing as well. Additionally there seems to hide some more functionality in the old code that I want to examine before releasing it.

What d you think? @Fabio @Tobias @Rabuzarus
3 anos atrás
Frio theme
@UX Watchdogs @Friendica Theme Developer @Friendica Support @Friendica Developers
In the last week there was some discussion about my experimental frio theme.
I decided to summerize some of my thoughts (some have been already highlighted in a german talk) about this theme and friendica. Also with regard to possible committers.

Some perspectives/direction I have thought about in case of the frio theme (which also would affect friendica core).

1.) The private messages page
The list of all messages could be displayed at the left aside. Similar like it's done now when the user has opened a message (in the present state a message-preview is in left aside). But it should be extended as full message list navigation. A list which is scrollable with the last 20-50 messages/conversations and when a user scrolls down to the end of the list next 20-50 messages will appended through ajax. This would need a endpoint where we can get message json data. Additionally there should a filter field in the left aside which filters the messages by recipient or topic. For this the new js textcomplete function can be used (like I did it to make contact filtering possible at the contact page)
Should the aside message list be extended as full message list navigation it's maybe worth to think about to have a own page template for messages which would give the aside area a little bit more width and does make the main area a little bit smaller.

2.) The photo page
I have thought (but don't have any experience if it's realizable) about to have a facebook like photo page. This would mean that if a user opens a photo some kind of overlay would open with the photo at the left side and the comments in a row at the right side. The right comments row could have a tab where the user can switch (if he/she should have the permissions) between comments and editing the photo.

3.) json endpoints
We had some questions from a motivated theme developer 2 months ago. He wanted to do a theme and wanted to overwrite friendica core functions to get json data.
While I was working at the frio theme I realized that is very helpful to have data as json because you can load them through ajax and don't need to reload the page. This does make the use of friendica very fluently and enjoyable. In frio I extended the acl endpoint (to make contact filtering possible with textcomplete) and the frio_hovercard addon gives another endpoint for contact data which is needed for the hovercard (+ it's can provide the tpl data for jSmart - but to this I come later). If the message-list aside full navigation idea (point 1 above) would be realized another endpoint for json message list data would be needed). This would mean another addon. But it is no real good solution to extend the theme with 100 addons. Instead we should think about how could friendica provide important data next to html also in json. (An interesting/helpful thing would be to request pconfig data in json)

4.) jSmart
The quantity of html inside php and javascript files should be limited as much as possible. For this we have templates and Smarty/jSmart. In some cases we need the same templates for php as for js. Luckily I found jSmart. With jSmart the smarty templates can be used for js. But since js can't get access to server files the template needs to be accessible somehow. For the frio hovercard the template is provided through an endpoint which outputs the raw content of a template file.
In this case it would be a benefit to have an general endpoint to provide the raw content of the requested templates (for the frio contact page the contact template containing in the present state the content for the php and the content for jSmart - to have this twice seems to be no good solution to me).

5.) Content type of an item
We have different content types in the network stream. E.g. normal posts, comments, pokes, likes, shares, photos, events and so on. Every content type contains different data. In Friendica should provide the content type to the theme (with it's different data) to the theme so that in dependence of the content type the posts can be styled. To explain this the event is very suitable. Does a event have to look like a normal post, while it isn't really a normal post. So the theme needs to know that it isn't a normal post, so we can use an event template. An event containing a subject, a summery, a location, a starting and a ending time. At the present time all this data isn't accessible for the theme developer. It's all content body and so it's only possible to take it as it is

6.) Remote Nav
Since I started to uses friendica I often had the feeling (when leaving my node) rather of jumping between webpages than to have a social network feeling. To limit this impression I inserted some code so that nodes of friendica contacts will be opened in the the same tab and not in a new one. In addition the top nav will be nearly the same like the user had before in his/her local account (for this the remote user needs to have enabled also the frio theme). At the remote page will be a nav bar which includes also a symbol for e.g. the network stream, the private mail, the contact page and nearly the whole user menu. This links will link back to the local pages of the users. E.g. if the user presses at the contact symbol he/she will get to his/her own contact page. This should strengthen the feeling of a real network. Some menu point could not included because the remote server doesn't now the user settings of the remote user (for this access for pconfig data via json could be helpful - have a look some points above). Some links e.g. the search, apps, help & documentation linking to the remote node. E.g. if I'm on a remote node I want to search something at this node and not at my own.
This may a little bit confusing for the user but I think we should working on making this better visible than to remove this. This part needs some more input.

Have in mind that I had to extend the filebrowser.js to make it work with frio.
3 anos atrás
@Gruppo Linux Como

Release notes 0.16 - FreeCAD Documentation

FreeCAD 0.16 was released on 18. April, 2016, get it from Download. This is a summary of the most interesting changes. The complete list of changes can be found in the Mantis changelog. Older versions at: 0.15 - 0.14 - 0.13 - 0.12 - 0.11 Expression support has been introduced, which allows to define formula relationships between properties of objec...
3 anos atrás

An ffmpeg and SDL Tutorial

ffmpeg is a wonderful library for creating video applications or even general purpose utilities. ffmpeg takes care of all the hard work of video processing by doing all the decoding, encoding, muxing and demuxing for you. This can make media applications much simpler to write. It's simple, written in C, fast, and can decode almost any codec you'll find in use today, as well as encode several other formats.

The only problem is that documentation was basically nonexistent. There is a single tutorial that shows the basics of ffmpeg and auto-generated doxygen documents. That's it. So, when I decided to learn about ffmpeg, and in the process about how digital video and audio applications work, I decided to document the process and present it as a tutorial.
3 anos atrás

Self-Documented Makefile

Good projects are automated projects. But documenting all those Make targets in a README file doesn't make much sense, when you can make the Makefile auto-documented.
3 anos atrás
Yay! Just one question. I'm using the second method to update. In the general documentation somewhere, I have seen that updates should be done by backing up .htconfig.php first and then... starting from scratch, copying in an emptied folder? (right?).

Anyways, can I just copy the unzipped files in the folder, replace what has to be replaced and not care about .htconfig.php?
Michael Vogel
3 anos atrás
We could include it in the documentation.
3 anos atrás de open socialverse
Code of Conduct
During this years Hackathon in Berlin @Silke proposed a Code of Conduct (CoC) for the Friendica Project. She made her proposal in German, so I wanted to revive the conversation in English so everyone of the development community can contribute to it.
The proposed CoC is the following (from Contributor Covenant, which is adopted by more then 10k FLOSS projects, among other our friends from the Diasoira project.):

Clique para abrir/fechar

This is nothing to regalement every day postings from any Friendica user.

It is meant as guideline for the interaction in the development and support forums, the mailing list, the issue tracker (ant other dev/support places I've missed). And in essence, this is basic human behavior.

Personally I think the Friendica development community, as it is now, is a healthy and open community. But it is a small community, most of the core developers have met once or twice and read each others postings for years. It is also a growing community (this years Hackathon has twice the number of participants then last year) but I don't want to awake one day when the atmosphere has shifted and hate speech is there.

Having a CoC is also a sign for people who had bad experiences in the past, that this community does have a healthy spirit. Some advertisement like having the code licensed under the AGPL.

Hence I think that now is a perfect time for the project to discuss this and hopefully agree on a / the CoC. One does not take a lifeboat on a sailing trip because one wants to use it, but to be prepared in case the ship is sinking. If we do not need it, all the better.

@Friendica Developers
Rebeka Catalina
3 anos atrás
I'd like to have a more concrete documentation, yes .. that's why I'm playing around with it, but the point is, that I really don't know nearly anything about databases or database management systems and imagine the situation, that I put enough permissions, that it only seems to be correct ... just to try out things is also not exact enough I think ... that's why I opened this posting - I was hoping, that somebody in here knows more about databases than me -
I'm pretty sure almost everybody in here knows more about databases than me.
Michael Vogel
3 anos atrás
Best is: Try it out and enhance the documentation.
3 anos atrás
Last point isn't a coding style, should be in developer documentation.

I'm also for considering doxygen comments for new code as requirement for acceptance of pull requests
3 anos atrás
define a coding style standard for friendica
Since I said to discuss the coding standard @Friendica Support and @Friendica Developers I will do so :-)

@Fabio suggest to copy the coding standard of hubzilla (

In the present state this would contain:

  • All comments should be in English.
  • We use doxygen to generate documentation. This hasn't been consistently applied, but learning it and using it are highly encouraged.
  • Indentation is accomplished primarily with tabs using a tab-width of 4.
  • String concatenation and operators should be separated by whitespace. e.g. "$foo = $bar . 'abc';" instead of "$foo=$bar.'abc';"
  • Generally speaking, we use single quotes for string variables and double quotes for SQL statements. "Here documents" should be avoided. Sometimes using double quoted strings with variable replacement is the most efficient means of creating the string. In most cases, you should be using single quotes.
  • Use whitespace liberally to enhance readability. When creating arrays with many elements, we will often set one key/value pair per line, indented from the parent line appropriately. Lining up the assignment operators takes a bit more work, but also increases readability.
  • Generally speaking, opening braces go on the same line as the thing which opens the brace. They are the last character on the line. Closing braces are on a line by themselves.
  • Some functions take arguments in argc/argv style like main() in C or function args in bash or Perl. Urls are broken up within a module. e.g, given "", then $this->argc will be 3 (integer) and $this->argv will contain: [0]=> 'module', [1]=> 'arg1', [2]=> 'arg2'. There will always be one argument. If provided a naked domain URL, $this->argv [0]is set to "home".

There are is one point which needs clarification

  • Point 5. The one with the "double and single quotes" (I think @Michael Vogel has a different opinion at this point)

It would be nice if we could discuss this. @Michael Vogel ?

Are there some other points which need discussion?
3 anos atrás
OK first work is in

Like always I have some questions
1.) is there a good way to set default settings? forumlist_widget should be default on while forumlist advanced_profile should be default off

2.) I'm not really satisfied with the location of the setting for forumlist advanced_profile (Maybe someone has a better place in mind)

3.) In the forumlist functions I use the variable $uid. Is this correct or would $cid the correct variable name?

4.) can someone look at the documentation in /include/forums.php for mistakes?

5.) I talked to that it would be nice to order the forums of the forumlist widget by last posted item. Contact table isn't very useful for this because forums seemed not to be updated (last-item). Should I use the item table instead?
Abinoam Jr
7 anos atrás
Docblox: automatic documentation generator
(Just in case somebody has not noticed)... @Alexander has added docblox support to our source tree.
First commit was: Enabled automated doc building.

The idea is everybody willing the parsed/generated documentation should run docblox on its own clone of the repo.
(Not commiting the generated documentation into the master repo).

I've run it on my ubuntu desktop (not on my server [dreamhost]account).

Basically what i did was (in a step-by-step):
sudo apt-get install graphviz
sudo apt-get install php5-xsl
sudo apt-get install php-pear
sudo pear channel-discover
sudo pear install phing/phing
sudo pear channel-discover
sudo pear install docblox/DocBlox
sudo pear install docblox/DocBlox_Template_abstract

changed dir into my friendica local clone and runned docblox without command-line arguments.
The doc index.html was generated inside the friendica/data/output.


The docblox documentation:

#docblox #documentation #dev
Fabio Comuni
6 anos atrás

So here's the random trick of the day: say you decided to finally upgrade your monitor due to a random discussion on G+, but it turns out that you haven't upgraded your desktop in a while, so you're stuck with single-link DVI.

And the fancy new monitor is a 2560x1440 one that requires dual-link DVI to drive it, so says the documentation in big letters. What do? [...]
7 anos atrás
What happened to Zot?
Some people are curious what happened to zot, the next generation communications protocol for Friendica. It was due in December, and it's March already. WTF?

The world is changing pretty quickly, and especially so in the decentralised web communications landscape. The short story is that zot was obsolete before it got off the ground.

The long story is a bit more interesting. Zot was conceived as a technology which was upwardly compatible with the core protocols of the three major players of the decentralised indie web - Friendica, Diaspora and StatusNet. It provided a way to converge on a common language for all of the indie web. It also provided for internet scale "access control" of any resource and had a vision of an eventually merging with email.

Also when Zot! was conceieved, Google was still a champion fo the free web, and Twitter loved having developers use their platform. The web wasn't completely open, but it was more open than it is today.

Times have changed. Google slammed the doors on the open web and dispensed with many of the free protocols which underlie the "open stack" and which are a foundation of the inde web. Twitter told developers to stay away. Both are applying strict limits to outside services accessing their proprietary platforms. 

StatusNet tried to bolt privacy onto their public protocols and couldn't figure out how to do it without throwing away "federation" between sites. So that's what they did (though it shows a distinct lack of vision). StatusNet no longer supports a federated web "out of the box". And if you choose federation, you lose privacy.

Diaspora is in the same position as Friendica, in that their older protocols weren't as extensible as they would have liked (not to mention that they're just plain broken), so they've started work on a new set. Rather than work with anybody else, they've chosen (as before) to develop this on their own behind closed doors - and it remains to be seen if this work will be ever published as a protocol document. There is also no concern about maintaining existing communications channels (which Friendica provided), so it appears that Diaspora will soon disappear from the federated indie web and there is no telling when or even if we might be able to hack our way through their protocols and break down their wall a second time. Once was painful enough.

In short, there is no longer a need for a unifying protocol to federate the free web - as everybody is locking their doors and using the communication of the people of the internet as their corporate cash cow.

We don't feel that communication over web servers was ever a particularly elegant technology anyway. And we aren't doing this to get rich. We're doing this for you, the people - because everybody else just wants to use you to further their own empire building and delusions of grandeur.

Anyway, we're starting over with zot, and are freed from any prior constraints and compatibility issues. This lets use explore some technologies which we wouldn't have before when we were trying to stay somewhat within standard and accepted protocols and maintaining a level of compatibility with the rest of the free web. There are no longer any rules of the game (and there is some urgency, because the free web is at risk of vanishing completely if we aren't here to defend it). 

So we're starting a new game, and we're making some new rules. As always, we will publish detailed protocol documentation in the public domain before we ever write a line of code. That's just how we roll.  

In the meantime, DFRN is not elegant, and it's a bit cumbersome, but it bloody well works and has strong privacy (which is more than anybody can say for the Diaspora and StatusNet protocols). So we'll use it for a while longer while we work through the issues of easier mobility and ensuring that whatever we come up with has the same "dial-tone" reliability we have today.

Then we'll tell you all about zot2. In the meantime, we still support a number of protocols and communications channels and will maintain compatibility with older DFRN clients (going back to version 1) as long as is necessary; and will of course maintain communications compatibility with other networks if they let us

Zot is dead. Long live zot!
8 anos atrás
Friendika shared tagging is now live for developers. Shared tag support has also been added to the N-S-F-W plugin. This is a powerful combination. It means you or any of your friends can retro-actively tag a post not safe for work and the plugin will hide/collapse the offending content from future viewers, regardless of whether the original author was polite enough to do so.

Currently this has only been tested under duepuntozero and derivative themes. Please file an issue at if this messes up other themes, but more likely is that this action/option won't be visible.

A side effect is that the documentation will need to be upgraded as content search will no longer be able to use "boolean" mode. I don't believe this will have a huge impact as I have not seen any examples of people using boolean-search operators in tags.
Mike Macgirvin
8 anos atrás
7 anos atrás
Can any of my Diaspora friends shed light on what has changed with markdown links and images? They no longer seem to link correctly. Do I need to change Friendica links/images to a different format - or is it just a bug? The markdown syntax also isn't linking if entered directly into a Diaspora status editor, but I've seen no changes in any of the markdown documentation.
Mike Macgirvin
8 anos atrás
Here's my current to-do list - priorities could shift or the list annihalated at any time:

Diaspora photos in posts and translate bbcode/html/markdown

Diaspora admin components (enable/disable - it is disabled by default)

Propogate Diaspora comments/likes to other conversants

Release 2.3 beta

Diaspora retract friendship (and add "one-way friendship retractions" to other networks)

Diaspora delete/retract post/comment (I believe we retract "like" activities already but haven't tested)

Update help and documentation - a lot has changed for 2.3

Create a special public feed for statusnet since they apparently can't figure out an Atom "author" tag

Release 2.3

Revamp contact pages and contact overview page. Simplify, cleanup the ugly icons

Diaspora private mail

Try and work around browser timeouts for folks who post to every network via plugins. We also get hit with these a bit on contact 'follow' processing when the remote site doesn't support https
Mike Macgirvin
8 anos atrás
Re: Friendika/Diaspora integration.

Reposted to a wider audience.

Here are the current things holding us back (we're actually much closer to full federation than anybody realises):

1. There seems to be some slight difference in the way the message is sent on the wire. It's posted as an application/x-www-form-urlencoded to our side but we have to urldecode it (something PHP normally does). Hence it may be double encoded. We'll have to look at the raw input to figure it out exactly so we can duplicate it going out.

2. We can sign and verify the salmon data just fine, but there are also signed comments - and these don't verify according to the documentation. I suspect it's a linefeed issue as it was with the salmon signing, but will just have to try several things until we figure out exactly what is being signed so we can duplicate it to verify. I don't know if @Abinoam Jr. can help with this one, but he was a tremendous help sorting out the salmon signing fiasco.

Once those two issues are resolved we should be flying. Then it's only a matter of handling deletion requests.

If anybody wants to help find the answers to these two questions, we should see conversations flying back and forth in a matter of days.
mais recente antigo