I'm not used to do this, but with the large influx of new users and node admins recently coming from #Twitter, our small team is now behind the curve for handling support requests, bug reports and bring about much-needed features.
The project is built on a #PHP/#MySQL platform, but we also need people to be able to assist others just using the software to give developers some space.
@marek Yes! Open source community social culture is pretty much "do what you can on your own". Even inaccurate answers are better than no answer at all. Adding your support for new features or enhancements go a long way to motivate developers, acknowledging bug reports is good etiquette, and assisting support requests by gathering as much details as possible often helps troubleshoot the issue.
Finally, correcting existing documentation or guides or writing updated ones is absolutely stellar.
Still learning a lot about #Friendica and the #fedivers myself. But I'll be always happy to help others, and maybe I'll be able to also contribute some day. The vision of an open, noncommercial decentralized social network is worth the effort. @hypolite what will be best practice to get started to support developers? Unfortunately, I not that much experience in open source community social culture. I guess participating the discussion on the git site?
@hypolite Sadly, my PHP experience is very limited. I haven't really used it since the 00s. Am happy to help with the answering of general questions, though.
Even the embarked documentation could use an overhaul, it's stored in the project files but it's mostly Markdown so no need for a technical background.
Support requests on GitHub are often lacking context information, asking for it ahead of a developer would be appreciated.
Mutual aid on the @helpers forum goes a long way, it's already pretty active in German, a little less so in English.
What can they do in the Friendica project? ? My technical background is that I have been writing some web applications for the company since about 2000 with PHP (from version 3), mySQL/MariaDB and Postgres. I also use JavaScript and HTML, and since version 2.x Smarty as a template engine. In addition, I used to write scripts with Perl and now 99.9% with Python. ?
Version management used to be in Subversion and since GIT has been around, only in GIT, but since Github was taken over by Microsoft, I don't use the service anymore, I host it myself first with Gogs and then with Gitea. ?
@zwovierzwo Gitea is still the goal to move to, currently it's a mirror of GitHub but once we figure out the Continuous Integration on Gitea (hi @nupplaphil !), we should be able to fully migrate.
these are all interesting areas, but I see this is all going towards Github and having to set up an account there. (This is a noGo as long as Microsoft owns it).
I'll have a look at the wiki (there's also a gitea linked, but that's probably not actively used anymore or?) and especially the forum, if I can help there.
Thank you for the quick answer and the collection of information.
@hypolite Good idea with Gitea, I only use it for my own projects. But there are not several users working on it. But it should bring everything what you have on Github too, except the eyes of Microsoft. @nupplaphil
@grischa Answering in English. I have a second Friendica node at dev-friendica.mrpetovan.com where I test all my developments. I would advise against localhost since you wouldn't be able to test any federation feature.
Gib es irgendwo ein Howto für eine Entwicklungsumgebung? Reicht es einfach, lokal Friendica zu installieren und eine "Wegwerf Domain" drauf zu werfen? Oder nutzt ihr dann eine localhost Oder wie entwickelt und testet ihr lokal? Würde mir gerne mal ein paar "Junior" Issues ansehen, um damit in den Code zu kommen und dann potentiell mehr zu machen. :)
@grischa I use JetBrains phpStorm as my IDE. It has a Deployment feature where it keeps an SFTP connection open with my remote server, and any file changed locally is updated on my server as well.
I am a little ashamed to admit I don't know how to use remote debugging, so I just output/log data through the code during my work, and clean up the debugging stuff before committing my work on Git.
Sorry, didn't get the helper mention, I'll switch to Englisch, too.
Hmm.. But do you develop on that server directly or how is your coding environment? How do you debug, when it s not your local machine? Remote debugging?
@grischa I'm not sure how you would point a domain to a local machine but it should be possible. Let me know if you want me to test federation with your dev setup once you're done!
Okay, I am using phpStorm, too. But I never saw that sync feature, maybe because I didn't use it yet, because I develop my server software local normally.. Debugging would be very helpful, but maybe it works without. Okay, thanks for that input, I will try something. :) (I could point a real domain to my local server maybe?)
Thanks for that offer! ? But I am running a Pleroma and a Hubzilla instance on my own, so I guess this is enough for testing whether federation works. I'll come back to you, if it doesn't.. ?
@hypolite Remote Debugging with PHPstorm works very will. You'll need an ssh tunnel to the Tunnel and a mirror of the folders on the Server on your local drive. here is a tutorial
@grischa I have XDebug installed on my remote server, I use it for more verbose error messages and also for the profiler, but not for remote debugging.
@zwovierzwo We will make an announcement when we finally switch over. But I'm not expecting an uptick in activity when it happens. What we'll gain in privacy-conscious contributors, we'll probably lose in existing GitHub users who don't want to make the effort to create yet another account to submit their support request/bug report/new feature.
@zwovierzwo@tobias@hypolite I had a plan on doing a documentation rewrite, and then was hit by a pandemic - I think I have approximately 20 minutes a week to commit to it - but maybe that's unfair - I have about a month of vacation coming up and I will try to commit some time
@zwovierzwo No we don't have any sort of product management. No requirements, no schedule (apart the 3 months release schedule), no task list besides the GitHub issue tracker.
@hypolite another question at this point. Does a kind of Kanban board exist for tasks that are pending or would that perhaps be a solution for development and the tasks that are currently being completed or should still be developed? In my office, we have had relatively good experiences with this - for example, we have Taiga running here.
@zwovierzwo If the Core Developers team grows even by one, I think it would be good to start having this kind of project management tool. With three people I feel like this is still manageable, but the work load isn't, so we need more people, and with more people more structure.
@hypolite well - I thought maybe there is something like a visual structuring here and you can see who is working on which tasks. We have something like that at work, so we can do sprints and see who is working on which problem, new function and which bugs. This allows us to move them from release to release and prioritize or categorize them accordingly. But also if it takes longer or certain dependencies still needs us to write under tasks.
@hypolite@zwovierzwo We have to distinguish between the "normal" upstream branch and the Docker images I maintain.
For the upstream branch, I don't see any impediments anymore. It's fully merged to Woodpecker as CI/CD and most of the time, it's working fine
For the Docker images, it's really hard currently. Because I use a "standard" CI/CD action script/binaries from the Docker maintainers themself and they hardly relay on Github. Currently it's not possible to automatically test the Docker images. And as "official" and "best practice" Docker image, as Friendica is part of, we need a github repository to relay on (but we could make a "mirror" repo, so that's not a real issue :) )
@musenhain Ok, I was wondering if you were talking about the philosophy of the project. I've tagged a few task I believe are good entry points into the project code, please ask questions if you're unsure of something.
@hypolite The way its components are tied together; where I have to dig in the source if I want to change something without breaking something else. That sort of things. :)
@zwovierzwo Of us three, I believe only Michael consistently commits time to the project. My contributions have been more irregular, although I do keep an eye on the GitHub project, so even when I'm not actively contributing code, I'm looking for ways to help others.
@hypolite Well, it's a pity that there aren't more people here who can or want to contribute more time to the project. Basically, it's a really great idea that you can host Friendica like, for example, a Wordpress. So the number of servers should actually be higher than they are currently due to this possibility. But of course the code part is very complex and probably needs to be cleaned up and improved at one point or another. So it is clear to me that this cannot be achieved due to the small number of heads, that one makes a big cut as I had suggested one time or another.
My goal would be to understand the code more and maybe start with a small junior point, but if something like that isn't really on the agenda and it's better not to experiment with the code, then that's the way it is.
I don't have much experience with PHP (I did it for 3 days in 2009, I think), and I'm currently a bit busy, but I might try to tackle some fairly language-independent issues over the Christmas break, if you have any.
@mcv We are in an absolute dearth of front-end developers, so your help would be absolutely welcome. I believe our days of fancy CSS are behind us with the frio theme, but interactions can be added or improved. Case in point: github.com/friendica/friendica…
If you could look into this, this would take a big worry off my plate.
@hypolite Thank me when I've got a PR ready. There's absolutely no guarantee I'll actually get that far.
By the way, you do have js front-end code, so that's something I should be able to pick up. Also, I'm generally at my best dealing with complex interactions, front-backend interaction, algorithms, data structures, that sort of stuff. (And refactoring tech debt and complex code into something more readable, but maybe that's not the best place to start an unfamiliar language.) I'm terrible at infra, configurations, and fancy CSS. Just in case you have an issue that would be a good fit for that. But I don't mind picking up something else.
@nolan Hi Nolan and thank you for the offer! There are no specific steps to set up a development environment aside from installing a node. A challenge with a local development setup is the potential lack of federation with other servers.
As for populating a node with test data, creating a few users and following remote accounts are enough for most purposes. Although dumping your main account and importing it would be a great way to test this seldom-used feature!
@hypolite Happy to help out. Is there any documentation on how to set up a development environment? Haven't done PHP in 20 years or so but have lots of experience in other languages.
If a VS Code devcontainer setup that launches a LAMP environment with Friendica preconfigured would be useful, I'm happy to contribute that for starters.
That, and I'm curious how to populate a node with test data. Can I just dump and import my main account, or is there a better way?
@legeneralmidi Non, pas du tout, le #Fedivers (basé sur ActivityPub) et la #Fédération (basée sur Diaspora) sont deux réseaux incompatibles entre eux. Une poignée de plate-formes supporte les deux protocoles (Friendica et Hubzilla en tête) mais cela conduit à des discussions fragmentées où les utilisateurs de Diaspora ne peuvent voir que les réponses Friendica aux comptes Mastodon, et vice-versa.
@hypolite Oui, j'y suis toujours, pour les posts un peu plus long et les copaines que je m'y suis fait. Et c'est justement bien qu'iels puissent lire mes posts #friendica et que je puisse y partager les leurs. Je ne sais pas si c'est faisable avec #mastodon ?
@n8chz Désolé pour ça, ce problème semble être très spécifique à votre situation. Il sera difficile de le résoudre fiablement si nous ne pouvons pas le reproduire fiablement de notre côté.