Question about organization of large projects

scott at elementarysoftware.com scott at elementarysoftware.com
Sat Feb 5 07:16:22 EST 2022


I’m not entirely sure what your structure is or what you want to accomplish as far as stack organization.  In the IDE,  specialFolderPath("resources") returns the path to the current stack's folder. 

If your supporting stack files are scattered around your hard drive then this would make the task of locating a specific folder using  specialFolderPath(“resources") more difficult in the IDE. If your support stacks are, for instance, all organized inside a support folder next to the splash stack then something like what you had in mind would work. For instance:


-- assumes this is not being called by the splash stack but 
-- by one of the supporting stack files inside the support folder
-- which is next to the splash stack
function resPath 
    put specialFolderPath("resources") into tPath
    if the environment is "development" then
         -- put the itemDel into tOriginalItemDel
        set the itemDel to SLASH
        delete item -1 of tPath
        -- set the itemDel to tOriginalItemDel -- tidy up
    end if	
    return (tPath & "/mydataFolder")
end resPath


In a standalone, specialFolderPath("resources") always returns the path to the folder where files or folders specified in the Standalone Builder are located. On MacOS this is inside the (splash stack’s) .app bundle… even if the current stack is a free-floating stack file located wherever.

—
Scott

> On Feb 4, 2022, at 8:21 PM, prothero--- via use-livecode <use-livecode at lists.runrev.com> wrote:
> 
> Scott:
> Hmm…. I have different stacks in subdirectories of the splash stack. I hadn’t realized that all stacks should be in one top directory. That true? The specialFolderpath(“Resources”) seems to be relative to each stack, so, in my case, if a stack is in a folder that is in the specialFolder path of the splash stack, it will have a different specialfolderpath than the splash stack.
> 
> I haven’t actually built an app to test whether the resources path is the same in all stacks after build. 
> 
> Wow. So does that mean that all of the stacks in an app should be in the same directory in the dev environment? If not, that seem to complicate navigation during development.
> 
> Ok, thinking….. so for development, I would need to do something like:
> 
> function resPath
> 	 if the environment contains “Development” then
> 		put specialFolderPath("resources”)&”/mydataFolder" into dataPath
> 	else
> 		put specialFolderPath(“resources”)&”/dirSplashStackisin/pathToThisStack“&”/mydataFolder" into dataPath
> 	end if	
> 	return dataPath
> end resPath
> 
> In other words, all app paths would be relative to the splash stack.
> 
> Is that right?
> 
> Bill
> 
>> On Feb 4, 2022, at 8:41 PM, scott--- via use-livecode <use-livecode at lists.runrev.com> wrote:
>> 
>> Hello Bill,
>> 
>> Are you seeing that the stack files have a different “resources” path in the IDE ? This is expected behavior if the stacks are in different directories. The “resources” path in the IDE is the folder that the stack lives in. However, once everything is made into a standalone the “resources” path should be the same for all stacks opened by the app… even stacks that are not bundled with the standalone. The app should always report the same path.
>> 
>> --
>> Scott Morrow
>> 
>> Elementary Software
>> (Now with 20% less chalk dust!)
>> web       https://elementarysoftware.com/
>> email     scott at elementarysoftware.com
>> booth    1-360-734-4701
>> ------------------------------------------------------
>> 
>> 
>>> On Feb 4, 2022, at 4:56 PM, ELS Prothero via use-livecode <use-livecode at lists.runrev.com> wrote:
>>> 
>>> Folks,
>>> Rather than thrashing around on this, I am asking for some general guidance.
>>> 
>>> I am working on a large project that has a splash stack, some stacks that do things, and some of those stacks access data contained in the app. It’s a project I built at least 10 years ago and, of course, it needs to be 64bit.  I’m revising the navigation between different stacks and making other additions. I have set the stack locations in the stackfiles property of the splash stack. These filepaths are constructed according to the development folder that contains the project.  The required data file ares specified in the stack settings preferences of the development environment. 
>>> 
>>> So, I notice that the specialfolderpath(“resources”) returns different paths, depending on which of the project stacks calls it. So, my idea is to maybe set up all of the paths to the data in the splash stack using specialfolderpath as a base location. This worries me a bit because I’d like the various pieces of the project to be modular, so I could use them easily in other projects.
>>> 
>>> Question: should I set all paths of stacks and data in the splash stack? Also, do you have any suggestions on the use of specialfolderpath, where it’s appropriate when other stacks are in that path?
>>> 
>>> Thanks for pointing me to a resource to help me understand and optimize this, or give suggestions. 
>>> 
>>> Best,
>>> Bill
>>> 
>>> William Prothero
>>> https://earthlearningsolutions.org
>>> 
>>>> On Feb 3, 2022, at 12:55 PM, General 2018 via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>> 
>>>> Update >>>> Success.
>>>> 
>>>> Tried everything, then read a post that pointed to :-
>>>> Apple Worldwide Developer Relations Certification Authority Cert
>>>> Developer ID Certification Authority Cert
>>>> 
>>>> In Keychain my existing expired 2027, I downloaded and installed the latest expiring 2030/2031 - re run mrSign and notarization success.
>>>> 
>>>> Status = Success 0 
>>>> Status Code = Pac 
>>>> Status Message = Age Approved
>>>> 
>>>> Regards
>>>> Camm
>>>> 
>>>>> On 29 Jan 2022, at 22:41, matthias rebbe via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>>> 
>>>>> Hm, interesting. Seems to be a problem with a wrong or missing timestamp. So maybe adding --timestamp parameter will fix this.
>>>>> 
>>>>> Could you please change the following lines in the stack script of the NotarizeHelper stack and try again after that?
>>>>> 
>>>>> 
>>>>> line 904
>>>>> put "codesign --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime  --entitlements ##entitlementsplist## ##myapp##" into tShell
>>>>> with this line
>>>>> put "codesign --timestamp --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime  --entitlements ##entitlementsplist## ##myapp##" into tShell
>>>>> 
>>>>> 
>>>>> 
>>>>> line 908
>>>>> put "codesign --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime ##myapp##" into tShell
>>>>> with
>>>>> put "codesign --timestamp --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime ##myapp##" into tShell
>>>>> 
>>>>> line 953
>>>>> put "codesign --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime ##myDMG##" into tShell
>>>>> with
>>>>> put "codesign --timestamp --deep --force --verify --verbose --sign ##developerIDApplication## --options runtime ##myDMG##" into tShell
>>>>> 
>>>>> 
>>>>>>> Am 29.01.2022 um 22:17 schrieb General 2018 via use-livecode <use-livecode at lists.runrev.com>:
>>>>>> 
>>>>>> Tried all these, result the same.
>>>>>> 
>>>>>> In show “Notarization requests” for each :-
>>>>>> 
>>>>>> Status = invalid 2
>>>>>> Status Code = Pac
>>>>>> Status Message = age invalid
>>>>>> 
>>>>>> Regards Camm
>>>>>> 
>>>>>>>> On 29 Jan 2022, at 20:37, matthias rebbe via use-livecode <use-livecode at lists.runrev.com> wrote:
>>>>>>> 
>>>>>> _______________________________________________
>>>>>> use-livecode mailing list
>>>>>> use-livecode at lists.runrev.com
>>>>>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>>>>>> http://lists.runrev.com/mailman/listinfo/use-livecode
>> 
>> _______________________________________________
>> use-livecode mailing list
>> use-livecode at lists.runrev.com
>> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
>> http://lists.runrev.com/mailman/listinfo/use-livecode
> 
> William A. Prothero, Ph.D.
> University of California, Santa Barbara Dept. of Earth Sciences (Emeritus)
> Santa Barbara, CA. 93105
> http://earthlearningsolutions.org/
> 
> 
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode




More information about the use-livecode mailing list