Open Source Omnis library to integrate other Open Source libraries
Hi, Doug —
Thanks for your comments.
Your description of what this would do it correct. It would take an open source library and merge it into your own that would have all the open source stuff. That way you could pick and choose which pieces of the open source library you wanted included. It would only update the pieces you indicated you wanted.
In the past I’ve used multiple libraries in my own applications… as many as 15 at one time. I know that many Omnis devs don’t do it this way though.
I was trying to put together something like a packager used in Python. I realize Python doesn’t actually include the libraries in the source code of the main library, but by creating an environment and a requirements.txt file, it makes it seem like it is all integrated together. So I was trying to simulate that. I’m not sure whether I would even use the Integrity package I developed, but thought I’d throw an idea out there.
If the open source idea takes off in our little community, and I hope it does, we could be using a dozen different libraries with our primary application, implemented from many sources. That could get a bit unwieldy.
So like I said I was taking an idea and running it up the flagpole. I appreciate your input on it.
> On Mar 25, 2018, at 6:44 AM, Doug Easterbrook <doug@artsman.com> wrote:
>
> hi scotte.
>
> I also was not sure what the purpose of your tool was.
>
> however if I understand correctly from this description, you have made something that takes an open source library and copies/merges in to yours. In that vein, your library now that all the open source stuff.
>
>
>
> is that what you mean?
>
>
>
> if so, a cautionary note is that the right way to incorporate open source , is not to put it into your own library, but keep it as a separate library – always. and use it external to yours but calling the methods externally. The reason for this is to keep the open source library you are using pure — so that it can be updated as a standalone instance (and treated, effectively, as a black box)
>
> It does have the effect of making smaller, multi library applications de-rigueur instead of building in a monolithic fashion. That also means a bit of a paradigm shift for some of old hands at it (myself included — but I know its coming).
>
>
> why? by way of example — we have credit card authorization objects that are relatively standalone — you just need to call them. If I make that a separate standalone library that I call from my other library, then its easy enough to switch in a new copy and release only that component .. or to audit that component (per PCI rules on changes to code that touches cards), or freeze my version for a while to avoid triggering a PCI audit.
>
> Yes, it can go into my own code.. but better that its not. and I can ship without it, if we want.
>
>
> its how other things like python work. you just don;t copy their stuff into your library — you refer to it and use it. helps with code isolation.
>
>
>
> and, if I misinterpret what you your description means, many apologies in advance.
>
> Open sourcing components is going to be a big learning curve for us all since its not part of our heritage.
>
>
> Doug Easterbrook
> Arts Management Systems Ltd.
> mailto:doug@artsman.com
> www.artsman.com
> Phone (403) 650-1978
>
>
>
>
> see you at the third annual users conference
> tickets.proctors.org/TheatreManager/95/online?performance=29086 <tickets.proctors.org/TheatreManager/95/online?performance=29086>
>
>> On Mar 24, 2018, at 8:10 PM, Scotte Meredith <spomacguy@gmail.com> wrote:
>>
>> I’m not totally sure either, so thought I’d run the flag up the flagpole and see if anyone would salute.
>>
>> The idea is someone has an Open Source utility for Omnis that you have incorporated into your library. Maybe it was a library that connects to Trello API or some other API. There are a few utility classes in the library that you have integrated into your library instead of using the whole library. Then the utility library gets updated and you sync your local Git repository for that library with yours. Now you have the JSON version locally. You could build the library from JSON, then copy each of the classes into your local library.
>>
>> Instead, this copies from one repository to the other directly.
>>
>> Anyway that’s the idea. Open to other ideas anyone has.
>>
>>
>>
>>> On Mar 24, 2018, at 4:12 PM, Mike Matthews <omnis@lineal.co.uk> wrote:
>>>
>>> That sounds good, but I don’t really understand why we would need it, but maybe we do.
>>>
>>>
>>> Mike Matthews, Managing Director, Lineal Software Solutions Ltd
>>>
>>> Apple Reseller, Microsoft Partner, SQLWorks Business Partner
>>> phone: 01271 375999 | web: lineal.co.uk | email: mike.matthews@lineal.co.uk
>>>
>>>> On 24 Mar 2018, at 18:44, Scotte Meredith <spomacguy@gmail.com> wrote:
>>>>
>>>> Hey, folks —
>>>>
>>>> I put together a small Open Source project to help integrate other Open Source projects for Omnis and keep them up to date.
>>>>
>>>> The purpose of Integrity is to make it easy to integrate Open Source projects into your Omnis Studio library.
>>>>
>>>> Once you have included particular clases into your library, if there are changes made to the included library, how to you integrate them back into your library? As you have more and more Open Source projects included in your work, this becomes more difficult.
>>>>
>>>> It’s my first Omnis 8.1 Open Source library, so let me know if there are any problems.
>>>>
>>>> Since open sourcing Omnis libraries in Git is new to all of us, I’m open to suggestions on whether this project is worth pursuing and any ideas people have to make it more useful.
>>>>
>>>> Thanks to Alex Clay for getting things started, for his initial input, and for his GitHub sharing guide (omnis.ci/guides/sharing-omnis-libraries-on-github.html)
>>>>
>>>> Integrity
>>>> github.com/SpoMacGuy/Integrity
>>>>
>>>>
>>>> Scotte Meredith
>>>> SpoMacGuy@gmail.com
>>>>
>>>> _____________________________________________________________
>>>> Manage your list subscriptions at lists.omnis-dev.com
>>>> Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com
>>> _____________________________________________________________
>>> Manage your list subscriptions at lists.omnis-dev.com
>>> Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com
>>
>>
>> Scotte Meredith
>> SpoMacGuy@gmail.com
>>
>> _____________________________________________________________
>> Manage your list subscriptions at lists.omnis-dev.com
>> Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com
>
> _____________________________________________________________
> Manage your list subscriptions at lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com
Scotte Meredith
SpoMacGuy@gmail.com
_____________________________________________________________
Manage your list subscriptions at lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com