#Friendica needs new contributors!
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.
If you're willing and able to help, please follow @Friendica Support and the project on Github: github.com/friendica/friendica
Thank you!
GitHub - friendica/friendica: Friendica Communications Platform
Friendica Communications Platform. Contribute to friendica/friendica development by creating an account on GitHub.GitHub
Marek Bachmann
in reply to Hypolite Petovan • • •@Hypolite Petovan 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 Petovan
in reply to Marek Bachmann • • •@Marek Bachmann :friendica: 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.
Hypolite Petovan
Unknown parent • • •Jonathan Lamothe
in reply to Hypolite Petovan • • •ITMC GmbH
in reply to Jonathan Lamothe • • •Well same here. My PHP knowledge of 2003 to 2007 is completely outdated. The last thing I did was porting the application I wrote at that time from PHP5 to PHP7, but that is some 6 or 7 years back, too. Since then I didn't write a single line of code in PHP anymore.
👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to ITMC GmbH • • •then see it as a challenge and you are never too old to start hitting the keys again
@Hypolite Petovan @Jonathan Lamothe (he/him) ❌
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
I don't want to say that again, that the code base is very complex. I rather thought that you can not only win people over for the code here, but that there are some tasks, as you have already listed.
I have to say I've looked at the code quite a few times and I haven't really gotten through what works where, how and why the way it works. Although I do daily development with my own applications based on PHP.
If I were to get involved anyway, I see the junior jobs as a starting point, as you have often described, and then ideally as an encapsulated development without any problems that can arise with the core.
Start slowly and feel your way and not from 0 to 100 and then cause chaos all over the core. Because it's always such a thing with self-developed applications where you can already understand the workflow in your head and in contrast to other developed software that still evokes many dark corners in your head.
Do you actually have a tip on how to proceed with the junior job if I still want to try the Github Tripp.
Clone the repo and then develop into its own branch, or use the develop branch and then push that back to github?
So I understand what you meant with the post, because a broken Friendica is of no use to anyone.
@Jonathan Lamothe (he/him) ❌ @ITMC GmbH
👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
I don't want to say that again, that the code base is very complex. I rather thought that you can not only win people over for the code here, but that there are some tasks, as you have already listed.
I have to say I've looked at the code quite a few times and I haven't really gotten through what works where, how and why the way it works. Although I do daily development with my own applications based on PHP.
If I were to join at some point, I see the junior jobs as a starting point, as you have often described, and then ideally as an encapsulated development without any problems that can arise with the core.
Start slowly and feel your way and not from 0 to 100 and then cause chaos all over the core. Because it's always such a thing with self-developed applications where you can already understand the workflow in your head and in contrast to other developed software that still evokes many dark corners in your head.
That's why I understand your post and I think I'll hold back there, also to motivate people here, to screw the code base is not trivial and only people who have been doing this for a long time should do it. Because a broken Friendica is of no use to anyone.
@Jonathan Lamothe (he/him) ❌ @ITMC GmbH
ITMC GmbH
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to ITMC GmbH • • •this should be good - but as i understand hypolite@friendica.mrpetovan.com
it is better not to change the code if you are not firm with it.
@Jonathan Lamothe (he/him) ❌
ITMC GmbH
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •Hypolite Petovan
in reply to ITMC GmbH • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
What can they do in the Friendica project? :thinking face:
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. :smiling face with smiling eyes:
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. :thinking face:
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •@7homas ♓
👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
Thank you very much,
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.
@Tobias
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •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.
@Philipp Holzer
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
It is a pity that this process has not gone further. Many of the large projects have turned their backs on Github for the same reasons.
Thus, it would probably also be time to set a sign here and if an own system is already available, then this is even easier.
Of course, I can not say how difficult it is to move the messages and then take over, or whether you have to make a cut, etc..
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
Of course, if you look at it that way, that could be a fact.
It is difficult to weigh that of course, what it brings but I must say, for me and I refer now 100% to my ideas and not to the project set the data protection very high. For this reason, I also use as a messenger, for example, no Whatsapp but only Threema, Signal or Matrix.
But that's another topic and not this one.
Let's see what the future brings.
Philipp Holzer
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •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 :) )
Hypolite Petovan
in reply to Philipp Holzer • • •grischa
in reply to Hypolite Petovan • • •Würde mir gerne mal ein paar "Junior" Issues ansehen, um damit in den Code zu kommen und dann potentiell mehr zu machen. :)
Hypolite Petovan
in reply to grischa • • •grischa
in reply to Hypolite Petovan • • •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?
Hypolite Petovan
in reply to grischa • • •@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.
grischa
in reply to Hypolite Petovan • • •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?)
Hypolite Petovan
in reply to grischa • • •grischa
in reply to Hypolite Petovan • • •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.. 😆
👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan @grischa
If you are developing locally you could get a dyndns domain or something that points to your home router.
This then simply reverse proxy to your local system should actually be an idea for this.
Of course easier if you do the development via SFTP on your server and you also exclude any other bugs.
MovedSinyx
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •knsupdate – Dynamic DNS update utility — Knot DNS 3.2.2 documentation
www.knot-dns.czgrischa
in reply to MovedSinyx • • •But my DNS is at INWX, they already have the DynDNS feature. Never tested it yet, but it should work as they even document how I have to configure it with my FritzBox (kb.inwx.com/de-de/8-dyndns). 🙂
INWX Knowledge Base - DynDNS
kb.inwx.comRoland Häder
in reply to Hypolite Petovan • • •/etc/hosts
to point to my local machine. Then in a/etc/apache2/sites-available/friendica.conf
I setup a virtual host on that host name and even setup a self-signed SSL certificate so I can run #Friendica locally. To be able to receive mails locally, as I have #Linux running here, I had to a bit patch Friendica to disable a regex check on the entered email address. Now when I want to locally federate with e.g. #GNUSocial I just have to repeat above steps and I remember I was able to setup "remote" follow between these two local instances. For Windows users, there is #WinAMP around for a very long time, including #Mercury mail server so you could be able to repeat it even on Windows.Roland Häder
in reply to Roland Häder • • •Roland Häder
in reply to Roland Häder • • •/etc/hosts
part and just access it through, e.g. https://localhost/friendica/ and setRewriteBase /friendica/
accordingly. With the separate host name you also have a separateerror.log
andaccess.log
so it won't mix with other installations on your local machine.Thorsten Daners
in reply to grischa • • •i'm using DDEV for local development. I've fired up Friendica within 5 minutes with the bonus that the whole config can be added to git. No more "works on my machine" as everybody is using the same config.
grischa
in reply to Thorsten Daners • • •Thorsten Daners
in reply to grischa • • •@grischa @tobias @zwovierzwo
Yes. But there is defacto no docker knowledge needed. Everything you need to know is written down in the config.yaml which is located in the .ddev folder.
Check my commit here: github.com/Schnoop/friendica/c…
DDEV and some PHP8.1 fixes. · Schnoop/friendica@7a39be8
GitHubTobias
in reply to Hypolite Petovan • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Tobias • • •For what the write access I think I'm a bit on the line. The forum I can also comment so or not?
👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Tobias • • •I think I know what you meant - I hope so.
Access to the wiki? So I don't have to create an account there first and then you can give it further access.
As far as I have seen this is a Dokuwiki and there should be so. Then I would first register in the hope that this works.
Andreas Kilgus
in reply to Hypolite Petovan • • •Hypolite Petovan
in reply to Andreas Kilgus • • •Andreas Kilgus
in reply to Hypolite Petovan • • •Hypolite Petovan
in reply to Andreas Kilgus • • •silverwizard
in reply to Hypolite Petovan • • •Hypolite Petovan
in reply to silverwizard • • •Raroun
in reply to Hypolite Petovan • • •here is a tutorial
Hypolite Petovan
in reply to Raroun • • •grischa
in reply to Raroun • • •Raroun
in reply to grischa • • •I work with my own servers, so it wasn’t a problem for me to set it up :)
Hypolite Petovan
in reply to grischa • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •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.
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •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 Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
What? Only three coding junkies. :laughing:
I understand that you are always on full throttle. :astonished face:
I also think that something has to be changed and now the code conversion appears to me in a different light.
So then we should gather all forces and bring the project forward.
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •@Hypolite Petovan
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.
Hypolite Petovan
in reply to 👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒 • • •Martijn Vos
in reply to Hypolite Petovan • • •Hypolite Petovan
in reply to Martijn Vos • • •Martijn Vos
in reply to Hypolite Petovan • • •@Hypolite Petovan 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.
Hypolite Petovan
in reply to Martijn Vos • • •@Martijn Vos 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.
Martijn Vos
in reply to Hypolite Petovan • • •Hypolite Petovan
in reply to Martijn Vos • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
in reply to Hypolite Petovan • • •how is the plan, if i want to change something in friendica - esspacially with the junior jobs.
Git Checkout - make own branch and then i think a merge to the develop branche can not be done by the non core team developer
@Martijn Vos
Hypolite Petovan
Unknown parent • • •clacke: exhausted pixie dream boy 🇸🇪🇭🇰💙💛
in reply to Hypolite Petovan • • •👤 𝟳𝗵𝗼𝗺𝗮𝘀 ✅🖖🔒
Unknown parent • • •ok understood - thank you for the response. :thumbs up:
Nolan Darilek
in reply to Hypolite Petovan • • •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?
Friendica Support reshared this.
Hypolite Petovan
in reply to Nolan Darilek • • •@Nolan Darilek 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!
Nolan Darilek
in reply to Hypolite Petovan • • •Friendica Support reshared this.
Hypolite Petovan
Unknown parent • • •Hypolite Petovan
Unknown parent • • •n8chz
Unknown parent • • •@legeneralmidi En théorie, tous les services fédiversaux sont interopérables, mais mes partages de Mastodon à #Friendica viennent sans texte.
github.com/friendica/friendica…
Friendica displays images but not text in posts from Mastodon, Misskey, perhaps others. Am I misconfigured? · Issue #12318 · friendica/friendica
GitHubHypolite Petovan
in reply to n8chz • • •