O$ PostgreSQL large objects and OSX
EurOmnis 2015
info at omnisworld.org
Thu Jun 25 03:06:16 EDT 2015
That is interesting info. Hmmm.
Now then Bas, how do you do all of that DAV stuff then to enable security and delivery to the client's desktop? It feels like a good topic for EurOmnis 2015, as we store in the DB but would like the option top do the other way as well.
Mike
Mike Matthews, Finance Manager, OmnisWorld.org
Organisers of EurOmnis Conferences
phone: +44(0)7973 306790 | web: omnisworld.org | email: info at omnisworld,org
On 25 Jun 2015, at 02:24, Andy Hilton <andyh at totallybrilliant.com> wrote:
> Andrew
>
> I store loads of files in the database and access them via my python/django website without going near Omnis quite happily….just FYI !
>
> It really has nothing to do with Omnis as such - Omnis does nothing proprietary in storing in the database…..
>
> Andy
>
>> On Jun 24, 2015, at 8:09 PM, Andrew Clow <andrew at freedomsoftware.co.nz> wrote:
>>
>> $converthfspathtoposixpath was the solution to my original question.
>> My thanks to Mike & those who answered off-list.
>>
>> As stated in the original message, I've only just begun experimenting with the large object side of things.
>> We've yet to weigh up the pros and cons of using $lob* vs SET blob=[@blob), this was a case of ensuring that we can use all the tools available to us. (and we need to ensure that we can get the files back out via non-omnis methods if necessary)
>>
>> I look forward to reading the various opinions should this thread continue.
>>
>> Regards,
>> Andrew.
>>
>> -----Original Message-----
>> From: omnisdev-en [mailto:omnisdev-en-bounces at lists.omnis-dev.com] On Behalf Of Mike Matthews
>> Sent: Wednesday, 24 June 2015 19:26
>> To: OmnisDev List - English
>> Subject: Re: O$ PostgreSQL large objects and OSX
>>
>> Hello Doug,
>>
>> Struggling with the newer here. Are you saying keep the whole file as a record in the DB or just a pointer to the file on the shared resource?
>>
>> And is Andrew's problem with paths to do with posix vs Mac HFS I wonder?
>>
>> Do FileOps.$getfilename(#S1) = Macintosh HD:Users:mike:Desktop:BBC-Radio2.webloc
>> Do FileOps.$converthfspathtoposixpath(#S1,#S2) = /Users/mike/Desktop/BBCRadio2.webloc
>>
>>
>> See you at EurOmnis 2015 as well, looking forward to that. :)
>>
>> Mike
>>
>>
>>
>>
>>
>>
>>
>> Mike Matthews,
>> Managing Director, SQLWorks Software Ltd
>>
>> Tel: +44 (0)1271 375999
>>
>> Email: mike.matthews at sqlworks.co.uk
>>
>> Web: www.sqlworks.co.uk
>>
>> SQLWorks replaces Sage, ACT!, Opera, Access, SAP
>>
>> On 24 Jun 2015, at 05:59, Doug Easterbrook <doug at artsman.com> wrote:
>>
>>> hi all:
>>>
>>> I’ll probably get shot on this one … but LOB is just a large object, binary or character.
>>>
>>> so why try to access the database file structure and do a hybrid ‘here’s a file and I’ll only save the pointer in the database??’
>>>
>>> it just seems so much more reasonable to do an update to a table using standard sql like
>>>
>>> update table set blob=[@blobvalue]
>>>
>>> that way, if you delete the row, the blob goes
>>>
>>> and if you back up the database, the blob gets backed up.
>>> and, its platform independent.
>>> and its fully ACID.
>>> and its easy to restore a database.
>>>
>>>
>>>
>>>
>>> it just doesn’t make sense to me to try this save the document via the file system and update the database with a value … I know.. people say, there are advantages. but it really escapes me on the most basest sense why to do it.
>>>
>>>
>>> I hope to be enlightened.
>>>
>>>
>>>
>>> Doug Easterbrook
>>> Arts Management Systems Ltd.
>>> mailto:doug at artsman.com
>>> http://www.artsman.com
>>> Phone (403) 536-1205 Fax (403) 536-1210
>>>
>>>> On Jun 23, 2015, at 6:06 PM, Andrew Clow <andrew at freedomsoftware.co.nz> wrote:
>>>>
>>>> Thanks Bas,
>>>> I thought of the workaround but was hoping to avoid it, and I’m not sure if I’ll be able to get the import working with a workaround.
>>>>
>>>> I’ll check if DLA can supply an updated DAM (assuming one exists) otherwise start working on the workaround unless there are some other $listers with suggestions.
>>>>
>>>> Regards,
>>>> Andrew.
>>>>
>>>>> On 24/06/2015, at 11:37 am, Bastiaan Olij <bastiaan at basenlily.me> wrote:
>>>>>
>>>>> Hi Andrew,
>>>>>
>>>>> I had similar issues with creating the debug log you can enable for the
>>>>> Postgres DAM. I think the Postgres side of life is converting the Mac
>>>>> path to a Linux path but the OS is still expecting a Mac path.
>>>>> I think the issue with the debug log was fixed in a later version of the
>>>>> DAM and may apply to this as well but I don't know if this is thus
>>>>> available in the latest 5 release or only 6 or if it is still a problem
>>>>> for these particular functions.
>>>>>
>>>>> You might want to check with TL if they have a newer DAM available for
>>>>> you that fixes this issue.
>>>>>
>>>>> Only workaround I can suggest is putting the file in the root and after
>>>>> that moving it to the desired location, not neat and not all users may
>>>>> have rights to do so.
>>>>>
>>>>> Cheers,
>>>>>
>>>>> Bas
>>>>>
>>>>> On 24/06/2015 9:17 am, Andrew Clow wrote:
>>>>>> Hi,
>>>>>>
>>>>>> Using Omnis Studio 5.2.3 with Postgres DAM on both Windows & OSX.
>>>>>>
>>>>>> I've been experimenting with $lobimport & $lobexport and got it working smoothly on Windows, but I'm having an issue with the implementation on OSX and hoping someone out there is using them successfully.
>>>>>>
>>>>>> $lobimport(lcFilePath) returns 0 (nothing is imported/created and no error is logged by the Postgres Server)
>>>>>> $lobexport(lcFilePath,$cinst.fs_oid) returns kTrue, but the file is generated in the root directory and not the selected path.
>>>>>>
>>>>>> E.g. If lcFilePath is "Macintosh HD:Andrew:Desktop:Testfile.txt" Omnis creates the file as "Macintosh HD/Andrew/Desktop/Testfile.txt" in the root directory.
>>>>>>
>>>>>> I suspect that this path issue is also preventing the $lobimport method from working.
>>>>>> I've tried replacing all the path separators prior to import/export but that results in the same failure.
>>>>>>
>>>>>> Can anyone think of what I might be missing regarding filepath on OSX?
>>>>>>
>>>>>> All my other OSX file generation with $putfilename works, although most of it is via BrainyData's PDF external or $writecharacter.
>>>>>>
>>>>>> For reference the code that's working on Windows is:
>>>>>> :: Import method in table class.
>>>>>> Do FileOps.$getfilename(lcFilePath,'Select File to import...','*.*',lDirectory)
>>>>>> If not(isclear(lcFilePath))
>>>>>> Do $cinst.$sessionobject().$transactionmode.$assign(kSessionTranManual)
>>>>>> Do $cinst.$sessionobject().$begin()
>>>>>> Do $cinst.$sessionobject().$lobimport(lcFilePath) Returns $cinst.fs_oid
>>>>>> If $cinst.fs_oid
>>>>>> Do $cinst.$save() Returns bResultState
>>>>>> If bResultState
>>>>>> Do $cinst.$sessionobject().$commit()
>>>>>> Else
>>>>>> Do $cinst.$sessionobject().$rollback()
>>>>>> End If
>>>>>> Else
>>>>>> Do $cinst.$sessionobject().$rollback()
>>>>>> End If
>>>>>> Do $cinst.$sessionobject().$transactionmode.$assign(kSessionTranAutomatic)
>>>>>> End If
>>>>>> Quit method bResultState
>>>>>>
>>>>>> :: Export method in table class.
>>>>>> Do FileOps.$putfilename(lcFilePath,'Download file to...','*.*',lDirectory)
>>>>>> If not(isclear(lcFilePath))
>>>>>> Do $cinst.$sessionobject().$transactionmode.$assign(kSessionTranManual)
>>>>>> Do $cinst.$sessionobject().$begin()
>>>>>> Do $cinst.$sessionobject().$lobexport(lcFilePath,$cinst.fs_oid) Returns bResultState
>>>>>> Do $cinst.$sessionobject().$rollback()
>>>>>> Do $cinst.$sessionobject().$transactionmode.$assign(kSessionTranAutomatic)
>>>>>> End If
>>>>>> Quit method bResultState
>>>>>>
>>>>>> Regards,
>>>>>> Andrew Clow
>>>>>>
>>>>>> _____________________________________________________________
>>>>>> Manage your list subscriptions at http://lists.omnis-dev.com
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> _____________________________________________________________
>>>>> Manage your list subscriptions at http://lists.omnis-dev.com
>>>>>
>>>>
>>>> _____________________________________________________________
>>>> Manage your list subscriptions at http://lists.omnis-dev.com
>>>
>>> _____________________________________________________________
>>> Manage your list subscriptions at http://lists.omnis-dev.com
>>
>>
>>
>> _____________________________________________________________
>> Manage your list subscriptions at http://lists.omnis-dev.com
>> _____________________________________________________________
>> Manage your list subscriptions at http://lists.omnis-dev.com
>
>
> _____________________________________________________________
> Manage your list subscriptions at http://lists.omnis-dev.com
More information about the omnisdev-en
mailing list