Code repo
As talk of OBEX as been coming up in a couple threads, thought I'd harness the moment to pose a question or two....
Not withstanding that an off-the-shelf and opensource Git-Hub frontend would be nice, or maybe even anything other than the ghastly code-mangling thing we have now. But if we are limited to off-the-shelf... how about the MediaWiki type of solution (ideally one that can also sync to Git-hub, or provide a Git interface along with the webpage file sharing / management) ?
Some examples:
https://codex.wordpress.org/
https://developer.wordpress.org/reference/
https://developer.wordpress.org/reference/hooks/edit_custom_thumbnail_sizes/
OK, they are not the best looking perhaps. But the point is, they provide an interface for people to register and share code, whilst also contributing articles / snippets and code tips. It could also feature a scrape of the language function lists (etc), like in that last references url above.
There are other opensource wiki systems out there; I've not studied the detail yet to see which I prefer. But maybe some of you already have experience / opinions.
But just generally--- is there an open-source solution out there that would tick all the boxes ?
Be it a git front-end, or some other system all together ?
SUMMARY of thread comments / ideas (in no particular order):
- Reactivate old OBEX with moderator controlled sign-up and spam control
- MediaWiki type of solution
- Custom front-end for GitHub that allows OBEX style access to resources
- Wordpress plugin for GitHub backend (does it exist?)
- Forums plugin that allows templated categories for code sharing
- Wordpress Google Drive plugin ( such as: https://wordpress.org/plugins/integrate-google-drive/ )
- Include capability/section for full code objects AND handy code snippets/tips
- Name and visibility is important.
- ...
Comments
If by "ghastly code-mangling thing we have now" you mean github's web interface turning code into a big string of chinese gobbledygook, I am confused by that as well.
The root issue is when PropTool saves code as UTF16. It should be changed to use UTF8 which doesn't have this issue and uses less disk space. Yet still, it's not like it's a fundamental issue with UTF16.
This file is UTF16 and displays correctly: https://github.com/parallaxinc/propeller/blob/master/libraries/community/p2/All/SPCcog/SPCcog.spin2
This one doesn't: https://github.com/parallaxinc/propeller/blob/master/libraries/community/p2/All/SNEcog/SNEcog.spin2
EDIT: Aha. I think having the {{ at the top of the file breaks whatever encoding detection is being employed. If I change the SNEcog file to start with
obj {{
it gets fixed.Yeah, that's one of the things that shouldn't be- exactly that issue with the encoding. I'm not sure it's (only) that brace that triggers it; from memory a missing or inappropriate BOM coupled with inclusion of null prefixed chars can also be a trigger. Apart from accessibility, I think the myriad of broken files is a key issue for customers I'd like to see resolved.
Eitherhow, a MediaWiki might infact be a good solution. That could have documentation in it, too. Though, assuming one uploads a ZIP file, there's no way to view the code online. old OBEX didn't have that either, so oh well. Then again, one could upload or link to anything, such as a project repository.
As suggested elsewhere, account creation could be on manual request basis to avoid spam/vandalism.
I've dropped the 'O' word a few times lately.. I don't want to seem to have abandoned this in any way, but I have no idea how to make that sauce, I just really liked a few things about it: (And I know we have some of this now..)
Maybe it would be more constructive for us as Parallax customers, regardless of programming acumen or lack thereof, to describe what we want, or liked about the OBEX, rather than lobby for this or that system that kinda does that...
I like all your points. And for these....
Agreed. And in an ideal world, that description would auto-create a readme.md file when syncing to GitHub (and visa-versa).
Yes! Perfect! If we can figure a list of requirements it might be something that can happen.
If we get some positive direction "meat on the bone" here, I'll make a summary list in the first thread and submit a plan to Parallax. That's what I'm hoping to achieve, and see if we can make some improvements for everyone.
I was hoping for something like that!
I don't know why the forum can't be used as an object exchange. It just needs two more categories: P1 Object Exchange and P2 Object Exchange. Each new thread in either would have to be a contribution, with the name of the object in the title. A description and code would have to be given in the first post of the thread. And people could comment in subsequent posts. Updates would have to be made in the first post, thus restricting them to the original author.
The forum is already moderated. So spam posts can be deleted. And first posts in new threads that don't meet the stated criteria can be dealt with accordingly.
We already have an adequate mechanism for sharing code right here. Let's use it.
-Phil
Also a good idea. Most stuff gets posted to the forum anyways, so might as well make it formal.
Though the front page is already somewhat crowded with categories.
I suspect some sort of template format would be needed, else the whole thing could get messy and difficult to navigate very quickly. And the amount of moderation required could also be prohibitive.
But it's a good idea for sure, and such a thing might be available as an existing forum plugin - seems quite likely. Certainly the plugin for allowing users to rate posts exists, which would be a handy part of it.
As would the proper search plugin be very important, but that's already installed, just not active. We also have the tagging feature that I'd love to bring back. It could all work
Anyhoo.. We should certainly include this suggestion and look at all the pros/cons in context later. One obvious Q would be whether such a feature excludes Git, or can an "off-the-shelf" plugin provide some sync with Git capability. Something to look at. Cool.
This forum is fine for discussions, but it is not good for a repository. It is almost impossible to find the nuggets you really need, when you really need them. Such as examples of tested, supported and documented code.
Sure, there is plenty of good stuff in these forums, but it tends to get buried fast. Who wants to wade through a thread with a couple of thousand posts just to find out whether an object is current, tested, supported, documented, and does what you need?
The old OBEX succeeded because it was not a forum for endless discussion: "Just the facts, ma'am!"
Ross.
VonSzarvas,
Regarding the forum, is the currently useless Search going to ever be fixed?
ObEx had a search function which came in handy and I don't know if Git-hub has something similar.
Searching the forum is both easy and effective, in my experience. I just use Google and insert site:forums.parallax.com after the search term.
-Phil
and why can't the forum search box do the same, instead of the mostly useless results?
Mike
I did add the proper search when I made the updates a year or so ago, but there were some other issues beyond my control that blocked activation. I'll make enquiries.
Looks like Ross stole my thoughts. A forum is not an appropriate place as things will be simply buried under a ton of hard to sort/search slag. Why can not the original OBEX be restored as it was? Yes, some bad actors could be a PITA, but there are remedies for that. But what was best about the OBEX? Just go back remember what it did and how it worked. That would by example define for you all the reasons OBEX worked so well. It was easy and you did not have to learn anything to use it. Lazy, but reality. Part of the issue I have with GIT is there are so many different ways to do anything with it, it gets confusing and a bit overwhelming with all the possible choices.
I don't disagree with you on OBEX, and just switching on the old OBEX with the right "anti-actor" filter (with some other tweaks) is now on the list!
If we did add a plug-in here for code sharing, it would only be if it came with a strict templated area that ensured it automatically remained fit-for-purpose. Certainly would never consider just adding categories and assuming they'd be useful in the long term. Enabling the proper search feature would also be mandatory.
If we start Obex again, with only download rights.
When there is a new item, we have to go trough a Parallax member system.
Perhaps put between a voting place/waiting room.
When Obex was running, I get actually once a week to look at the new gems in obex.
We talking about one update a week, not so time consuming for Parallax.
If that happened, I think we'd just sync the user list with those active in the forum, then have a moderator-approval login for new users. That way the spammers can't take over carte-blanche, and we quickly catch those that slip through the net. Just like on the forums here for the last couple years - a few bad eggs got through, but it's been pretty clean overall I think.
Aside from login being required to share stuff, anyone should be able to view/download without login being required.
IMO, this principle would be the backbone to any new solution. I'm quite neutral on what the solution is, but I just know we need something, and it must have some basic "rules" to ensure it is useful, accessible, clean and tidy.
+1
Maybe some sort of 'sandbox' where objects come to be debugged, discussed, and eventually added to whatever solution we end up with. We kinda do that now in the forum, I know I have quite a few links into the forum for things that aren't in the GIT..
Very low priority, because I don't want this to get all bogged down, but what about a place for things like this that really aren't 'objects', just genius-level techniques:
https://forums.parallax.com/discussion/174314/background-button-monitor-no-extra-cog#latest
I'd think the sandbox function is provided here in the forums. ie. develop code/ideas here, then post to the code repo when it's actually complete/working.
Snippets/tips...yes, very important! Added to the summary.
As far as I remember the old OBEX was good as long as Parallax put some effort into it. Finally the effort was dropped completely.
I don't think, that there is any tool, that can just be started at one time and it will be running on it's own and be just superb.
So the question is, into which tool will Parallax likely put continuously effort?
So the idea to use this forum, which is and has to be actively maintained, seems to be a good one!
Of course, the entries must go through a bit of formalism to provide good access.
Indeed, anything is going to be an ongoing effort. Hopefully whatever solution is ultimately used is fairly low maintenance. I like that using some of these solutions will prevent this from turning into a budget item, but none of them seem to do what the OBEX did. Ultimately this will result in COST. which no one will want to PAY
I would suggest using some format like Patreon to fund it, but it is too easy to lose sight of the value until it is gone. That is probably what happened to the OBEX...
If I could wave a magic wand, these objects (soft peripherals) would be more upfront "in-yer-face" as it were.
"What do you want your Propeller to be?"
"OBEX" is meaningless to those who are not aware of what the Propeller is all about.
Agreed, the name and visibility is important.
I do like the idea of a more accessible, transparent code repository. I'd get back into it. GIT may be great, but my simple mind doesn't get it.
I note Baggett's observation re OBEX...
There was that place for description, but few authors took much advantage of it. Explication might be found only/also in the program header, but many programs were thin there too. There were never enough links back to antecedents and forum development threads. Documentation is difficult. The Gold Standard was trying to assure the correctness of code, within limitations never fully stated, and to enforce a template for program structure. Too much busy work. Only a few programs were so blessed. But despite its warts, the OBEX served its purpose well enough.
I'd go for a revamped OBEX, alternatively, something like the sub forums Phil suggested. Lots of issues to be resolved, indeed.
Gold Standard: We can learn from @JonnyMac
yes
I was trying not to go there, but yes, I look at anything that starts out jm_ first...
Maybe other 'production ready' code could simply have a distinctive prefix...
Hmmm, A prefix and some way to attach a description.. An occasional 'weeding'.. Could that be all that is needed?