I believe you'll be able to run GS in something like a Raspberry Pi Zero, but we can review that later if needed.
About using PHP, I personally don't think it would have been wise to re-write it or to translate to another language just because there are alternative languages and frameworks. I personally like the work of the previous devs and believe they left a good codebase making it easier and faster to resume work rather than to restart.
About my university, I'm majoring in Computer Science and minoring in Maths - I am not taking any Software Engineering nor Information Systems modules nor did I learn PHP or web technologies at college (I could but, given that it isn't that hard to pick those topics in my free time, I've been doing mostly theoretical compsci modules) . I think my university is doing a fine work given my and their programs' goals.
As a sidenote: If I was to start GS now from scratch, I would have picked the same language for the project. Not because PHP is perfect or the absolute best, but because it performs well, is widely supported, fairly light and I'm confortable with it despite not having learned it at college (we mostly only use C, C++, Java and Shell Script - sometimes R, Python and Fortran for some really small things, might have more of that in the master).
For those who are not into PHP, the language is going through a process very similar to what's going on with C++. PHP is, IMHO, perfectly fine. Btw, there is this nice website: phpsadness.net which lists its current issues.
Like everything, all technologies have their ups and downs. If the language performs well, the devs involved are confortable with it, then I think that good code and algorithms can get the job done.
CC: @dansup, he is a great PHP dev that might want to add smth :)
Hey @kim We've just pushed the initial GNU social v2 to nightly, maybe this is a good opportunity for you to consider opening a MR with a new visual for the installer :)
The difference between GNU social and CMSs like Joomla is that, in GNU social, we follow the Unix-philosophy of small programs to do a small job seriously.
That is, GS has a structure in which themes are only intended to change the common appearance and, therefore, changing the CSS should be enough.
Often, themes in CMSs like Joomla allow to add functionality, which should only be done via plugins (at least in GS's case). The concept of themes with embedded PHP wasn't new back when GS was first written. I believe it wasn't applied on purpose because of the above mentioned reasons.
Therefore, I think the existing structure is good and powerful.
With plugins you can add functionality and the associated styling. Take your translation plugin as an example. You were able to add a visual component (a Translate button to each notice), specific javascript and, you could have added specific CSS too (maybe by presenting an icon in the translate button instead of the text 'Translate').
The HTML visual components that are inherent to GS, i.e. not added by plugins, can be edited, as you've said, by directly modifying the core. And, although the existing elements are likely fine, we should consider to start making use of HTML5's new tags.
cc: Maybe you have some further insight to add @MMN-o ?
> we need to edit the document object adding classes and more elements
So, bearing this in mind, maybe those new elements could be added with plugins instead? As this allows every theme to take advantage of them and not only a specific one. What do you think?
I guess you are looking for the `StartShowNoticeItem` event...
Maybe something like:
function onStartShowNoticeItem($item) { $url = common_local_url('YandexTranslate', ['id' => $item->notice->id]); $item->out->element('a', ['href' => $url, 'class' => 'YandexTranslate', 'title' => 'Translate this dent to my language.'], 'Translate this dent to my language.'); return true; }
Well, if you're interested in economically supporting my efforts in GS, I have a paypal account (my_first_name@fc.up.pt) - where my_first_name = diogo
I guess it would be better if I could point a bitcoin address or so, but I don't really know how those work and as so I don't have one. I also don't have a patreon or liberapay account.
Unfortunately the news related to XMPP aren't that huge...
> Improved XMPP support Just really means that the support of the XMPP protocol was improved. There are no new functionalities just yet (but there is this open RFC: https://notabug.org/diogo/gnu-social/issues/21 ).