-
-
Notifications
You must be signed in to change notification settings - Fork 757
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Future plans for wallabag #687
Comments
I agree with the API & v2 points. In order to make a clean refactoring, there shouldn't be any feature 2014-05-13 16:54 GMT+02:00 tcitworld notifications@github.com:
|
We started to work on it some time ago using Silex. You can have a look at #414 and https://github.com/wallabag/wallabag/tree/v2-silex I think that Silex is a good choice, but in order for a v2 to emerge, I think that the v1 should be frozen (only bug fixes added to it). Everybody should switch to working on it. I was the one starting it but I don't think I will have any time to put into it in a near future. I hope that @nicosomb or somebody else can continue the development. |
I think it would be possible to integrate the api in the current code, without cleaning that much.
This is a serious question: What do you think to get from using framework? Sorry but I'm not really seeing it, besides permanently binding to the framework.
Again this is a serious question: What do you think would be gained by using MVC? From my understanding there is a benefit, when you have data which you want to display in different formats, e.g. tables, charts. But with wallabag you just want to display text with some pictures. |
If you want Wallabag to be a serious project and thus, integrate automatic testing, using a Framework and MVC seems a good choice. |
I agreee with @vjousse. @tcitworld I'll try to answer soon. |
I once started porting Wallabag to Laravel but due to lack of time/interest I abandoned it prematurely. Feel free to use it as a base and if I am on a time surplus I will be sure to contribute. |
As for me, I think, that if we don't want to deal with "second-system syndrome" (http://en.wikipedia.org/wiki/Second-system_effect), will be good to froze v1 (except of bugfixes) like it's proposed by @vjousse above. I.e. no more new features in v.1 and clear plan about what to add to v.2 for the beginning: in theory NO new visible features - only deep refactoring and API. Will be good to make it as soon as possible and only then start to add more features. I also think, that framework is absolutely necessary.
What framework to use? Hard question. What, I think is really NOT needed, is Bootstrap (http://getbootstrap.com/) for site design: it is very fashionable for the moment but isn't really usable for clear, silent projects. However, maybe some css pre-processor (maybe "less") may be helpfull for our themes as will bring more order in css (this, especially can help a lot with generating of css filed for all default-based themes). But, anyway, this can be next step after v.2 release: refactoring of themes. |
Hi, really interesting thread here. I fear I will not be the one contributing a lot of commits (though I can help keeping up-to-date the es_ES translation), so technical decisions like what framework to use are far from my reach: I will recommend to use whatever framework the guys maintaining the core of wallabag are comfortable with. From an users perspective, however, I have an opinion:
As I said, though I can code some PHP, I'm not a PHP-jedi, and also I'm not finding a lot of time lately, but you can count me on for small tasks (maybe localization, maybe some really simple PHP fixes, and also some brainstorming like now :D). |
Hey. In other news, @Debetux started taking a look at what @vjousse already made on v2-silex. This may be what is the most likely to become wallabag's v2. |
Agree with both ideas: the API should be really simple (the notion of "Second system" is really powerful, a path to avoid :D) and not reinventing the wheel seems also a good idea (siles, alas, is lighter than many other options). |
@nicosomb exactly for the reason why the v1 has to be frozen: if it's not, there will be no v2. If you provide an API for v1, people will start using it, asking for missing features, and then you'll stay with v1 for a long time and there will be no more motivation for the v2. This is fine for me, but you need to be aware of it. |
That's the kind of answer I was expecting at first. I agree. |
One could make two arguments here. The first is that you already have half of an API, which is the retrieval of content via RSS. The programmatic availability of the data allows for the ecosystem of apps to be developed. Adding a concise programmatic way to add content would essentially complete V1. The second argument would be that if you provide an v1 API that you can architecturally support in v2, you allow for the ecosystem to grow instead of saying "wait for v2." Then when v2 rolls out, as long as it externally supports the v1 API (i.e. a POST to api.php with parameters X yields Y result), everybody's happy. |
Supporting backward compatibility is a pain in the ass, believe me. You should do it only if you have to. Here we have the possibility to not do it by starting with a fresh v2. To me, it's just a timing problem: if we define milestones and a rough deadline for v2, the API may be soon available. |
I understand about becoming "mired in antiquity". The other side of that coin is building and maintaining momentum in your ecosystem. If you can get app developers to add first class (at the same level as Pocket) support for wallabag/poche now instead of later, maybe that makes that pain in the ass worthwhile. To do that, all you really need is the ADD verb. Then you can ask the developer of your reader of choice to add first class wallabag support now. That certainly broadens your audience for v2. |
Well, It's been more than one year since wallabag was created, and since nearly the beginning (remember #31) we realised we needed to provide an API. We waited until now, I guess we can wait for a few more weeks (perhaps less, why not ?). However, I also think as long it does not take much of our time (which is now devoted to v2 :) ), we could consider merging some of your changes into the wallabag 1.x branch. But the first condition would be for it to respect the format stated at #414, so that all the 3rd party apps could be ready without changes. |
I personally don't mind if you pull in my changes or not. I thought you'd find them useful. In any case, the full API implementation for v1 would be just reinventing the wheel so I'll just wait for you to finish off v2. |
Well, not whole of it, only what you propose, the add article feature. API implementations can be started in apps even if it's not ready on the server side (but it is certainly uncomfortable). |
That would make sense, except for authentication. You don't want to say you're going to support username and password authentication and then pull it out and say, "now go use OAuth." |
Hum, I didn't thought about that. In that case, my advice is we better work only on v2. |
Well. I understand I have to make a decision. If we want to have a more robust application, we have to work on 2.x. We don't have to waste any time to develop features on wallabag 1.x. We have to release a first beta this year, with basic features of wallabag. In next days, @tcitworld and I will make a clean up in issues: all new features will be set for 2.x. |
one of the thing the Mythical Man-month teaches us is that the "team will design a throw-away system (whether it intends to or not). This system acts as a "pilot plant" that reveals techniques that will subsequently cause a complete redesign of the system". In other words, if the current code infrastructure is too tricky to implement an API, maybe it should be discarded. I know this may feel like an insurmontable challenge, but I have had experience dealing with old codebases and nothing short of a rewrite could fix some fundamental problems with the code. Also, I am personally very critical of PHP in general (see this article for why so I would suggest considering another programming language framework, especially now that hosting other frameworks has become more accessible. I would also like to point out the very interesting Bookie project which I had the chance to try out. It is very similar to poche in terms of functionality and objectives, and is well designed. Maybe all that would be needed would be to implement the Poche features missing from Bookie there? So far, i have found that only the "read/unread" status is missing, something which should be fairly easy to implement. To conclude, I am sorry in advance if my comments seem a little too radical, but I read the blog post and it said to not hesitate to give feedback. :) I like both Wallabag and Bookie, and I feel it's unfortunate to see the projects duplicate their efforts like this: united we are stronger! |
I'm sure that a lot of people agree with this (I totally prefer Python and Django as a framework), however PHP stays the default language for all of shared hosting plans, and it assures maximum compatibility. About Bookie, I'll say again what I've just said : it needs a dedicated server, so it's not really for everyone*. And judging from the documentation (I didn't test it) I don't see much features wallabag doesn't have, knowing the projects have different goals. The main goal of wallabag isn't bookmarks management, even though it could be used like this. * I know VPS are becoming really cheap, but novices will always prefer to start with shared hosting. I'm sure there's stats somewhere about this. |
with hosting platforms like heroku popping up for accessible prices, i am not sure the argument for PHP holds so much anymore. i know that we at koumbit, as a hosting provider, are certainly looking at hosting more than PHP applications exactly for this reason. but i understand your position, i tried. :) |
And this makes you a good hosting provider. :) Unfortunately, some providers are still crap. |
Was wondering what's the situation with API v2... |
And is now planned for v1.8 and seems pretty good so far. We have big changes coming (at last!). |
Nice. What's the planned release date and where can I find the v 1.8 API documentation? |
v1.8 released. What is the API status? |
We failed ... because we (re) planned it for v2, which is available here https://github.com/wallabag/wallabag/tree/v2-symfony |
We are not dead :) https://framasphere.org/posts/367022 v2 is coming. |
How about php7 support in newest versions of wallabag? |
PHP7 is already supported and even advised. |
Ok,although, I didn't found it in google. |
About ? |
Search query "wallabag php7" doesn't clearify about wallabag's support php 7 . |
I'll clarify it in the documentation. |
@ptah-alexs you can also have a look to our testsuite: https://travis-ci.org/wallabag/wallabag/builds/115307113 all is green with PHP7. |
Ok thanks. |
I close this issue: we are in the future today :-) and wallabag v2 is born. I think this issue is useless, you can reopen it if you think it's necessary. |
I open here so we can discuss it.
API
The API is certainly the most blocking thing now with the features we want to see in wallabag. It will make (nearly) everything possible. Third-party apps could have exactly the same features than the webapp has, so I consider it on top of our todo-list.
Why can't an API be in wallabag right now ?
Because wallabag is not written for it. Actions are most of the time not handled by a unique function. It's not very oriented-object too, and this is much better for building an API.
Our options
I think the best option would be to use a framework, but it needs devs who know it a little.
wallabag v2 - A framework ?
Previous paragraph leads us here. I've read somewhere that over 100 (or was it 1000 ?), lines of code, using of a framework was starting to be better for your app. wallabag is way over this limit, and the way it works suits to the use of a framework (MVC).
I leave up to you to discuss the framework we should use, I've no experience with that.
Third-party apps
Even though we have no API, it seems to me they could be improved. But there's no need to do it now if we focus on the API, because we will have to rewrite them (at least a large part) anyway for the API.
Yup, I'm really not saying anything constructive here.
Things that can be done before
I think the best thing to do before starting work on v2 (whatever are the plans) is to deliver a stable release.
Can we be stable right now or should we add more features ? These features could be :
Conclusion
Should we start the big changes ? when ? with what method ?
Please give your advice. And as always, help is always welcomed (now it would be very welcomed)
The text was updated successfully, but these errors were encountered: