Configuring 4D Client to serve

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

Configuring 4D Client to serve

Doug Hall-6
I have my "AIDTdb" (<4d structure> folder) in a git repository, so that I
can easily track my Active4D changes on multiple machines (locally, on a
test server, and production). Of course, I've configured the .gitignore
file to disregard all the 4D files, among others. The Active4D folders
inside this folder are configured pretty much the way they're described in
the documentation, and shown in the Demo app. For consistency's sake, I'd
like to keep my git archive at /Users/<user>/Documents/AIDTdb on all
machines. Since Active4D can make use of symlinks/aliases on MacOS, I
thought this wouldn't be a big deal.

Configuring things to work with 4D Standalone, and 4D Server is
straightforward. However, it's proving quite difficult to configure it with
4D Client (Remote). According to the manual, the <default> folder for a 4D
Remote client can be located at <user_home>/Library/Application
Support/4D/com.aparajita/Active4D. On my personal machine and the server
machine, my <default> folder and my <4d structure> folder are one and the
same (AIDTdb). However, this cannot happen on 4D Remote because the
<default> folder wants to be the same folder where my config folders are
(Active4D).

I tried to create a symlink file called "com.aparajita", to my AIDTdb
folder, and placed it inside my ~/Library/Application Support/4D folder.
This way, my "Active4D" folder inside of AIDTdb would be at the proper
relative location for Active4D to find the configuration files.

This is confusing as hell. Would somebody please tell me EXACTLY how to do
this! Remember, I want to be able to use git to pull in relevant changes,
to the 4D Remote machine, where I'm running my web server. The Active4D
Documentation seems thorough, but it's also confusing. I can't get it to
work. Aparajita, if you're reading this, please figure out how to make this
much simpler for future developers.

Also, it looks like I will need to remove the Active4D.ini and perhaps
Virtualhosts.ini from my git repository, if the 4D Remote machine cannot
leverage the same <default> shortcut that's being used in 4D Standalone and
4D Server environments. Please, tell me if I'm wrong.


Separate Issue:

Where are Active4D log files put on 4D Remote? It may not be logging at
all, if it doesn't like the <default> value, but I can't tell. I CAN see
Active4D trying to find my key file on my 4D Server machine. I assume it's
running simply because the plugin is there. My code runs A4D_Startup in On
Server Startup, but I've modified it to look for my "weba4d" (root) folder
before actually tries to initialize Active4D. This folder is only found in
places I want to run Active4D. (It's not on my production 4D Server, but it
IS on my development server, because I only want to use one machine for
testing.)

Thanks,
Doug
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Doug Hall-6
Oops. I forgot to mention that when I try to access my default url, I get
an active4D 404 error. (The requested URL / was not found on this server)

Doug

On Thu, Sep 7, 2017 at 1:32 PM, Doug Hall <[hidden email]> wrote:

> I have my "AIDTdb" (<4d structure> folder) in a git repository, so that I
> can easily track my Active4D changes on multiple machines (locally, on a
> test server, and production). Of course, I've configured the .gitignore
> file to disregard all the 4D files, among others. The Active4D folders
> inside this folder are configured pretty much the way they're described in
> the documentation, and shown in the Demo app. For consistency's sake, I'd
> like to keep my git archive at /Users/<user>/Documents/AIDTdb on all
> machines. Since Active4D can make use of symlinks/aliases on MacOS, I
> thought this wouldn't be a big deal.
>
> Configuring things to work with 4D Standalone, and 4D Server is
> straightforward. However, it's proving quite difficult to configure it with
> 4D Client (Remote). According to the manual, the <default> folder for a 4D
> Remote client can be located at <user_home>/Library/Application
> Support/4D/com.aparajita/Active4D. On my personal machine and the server
> machine, my <default> folder and my <4d structure> folder are one and the
> same (AIDTdb). However, this cannot happen on 4D Remote because the
> <default> folder wants to be the same folder where my config folders are
> (Active4D).
>
> I tried to create a symlink file called "com.aparajita", to my AIDTdb
> folder, and placed it inside my ~/Library/Application Support/4D folder.
> This way, my "Active4D" folder inside of AIDTdb would be at the proper
> relative location for Active4D to find the configuration files.
>
> This is confusing as hell. Would somebody please tell me EXACTLY how to do
> this! Remember, I want to be able to use git to pull in relevant changes,
> to the 4D Remote machine, where I'm running my web server. The Active4D
> Documentation seems thorough, but it's also confusing. I can't get it to
> work. Aparajita, if you're reading this, please figure out how to make this
> much simpler for future developers.
>
> Also, it looks like I will need to remove the Active4D.ini and perhaps
> Virtualhosts.ini from my git repository, if the 4D Remote machine cannot
> leverage the same <default> shortcut that's being used in 4D Standalone and
> 4D Server environments. Please, tell me if I'm wrong.
>
>
> Separate Issue:
>
> Where are Active4D log files put on 4D Remote? It may not be logging at
> all, if it doesn't like the <default> value, but I can't tell. I CAN see
> Active4D trying to find my key file on my 4D Server machine. I assume it's
> running simply because the plugin is there. My code runs A4D_Startup in On
> Server Startup, but I've modified it to look for my "weba4d" (root) folder
> before actually tries to initialize Active4D. This folder is only found in
> places I want to run Active4D. (It's not on my production 4D Server, but it
> IS on my development server, because I only want to use one machine for
> testing.)
>
> Thanks,
> Doug
>
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Aparajita Fishman
Hi Doug,

When serving from client/remote, you don't use an Active4D folder. All configuration files (.ini) and libraries (.a4l) — including the standard Active4D stuff — have to be separated into 'conf' and 'lib' directories. See page 41 of the docs for the possible locations of the 'conf' directory, and page 117 for possible locations of the 'lib' directory.

I can't quite remember the reasoning behind this, but that's the way it is for now. I'll look into supporting a single Active4D folder on client.

As for integrating with git on the client, since the directory structure is different than on server/standalone, I suggest writing a simple shell script that checks out the code into some convenient place, then symlink the individual config and lib files into the conf and lib directories.

By the way, you may want to use 'git pull --rebase' when distributing code to a non-development machine.  

> On Sep 7, 2017, at 11:35 AM, Doug Hall <[hidden email]> wrote:
>
> Oops. I forgot to mention that when I try to access my default url, I get
> an active4D 404 error. (The requested URL / was not found on this server)
>
> Doug
>
> On Thu, Sep 7, 2017 at 1:32 PM, Doug Hall <[hidden email]> wrote:
>
>> I have my "AIDTdb" (<4d structure> folder) in a git repository, so that I
>> can easily track my Active4D changes on multiple machines (locally, on a
>> test server, and production). Of course, I've configured the .gitignore
>> file to disregard all the 4D files, among others. The Active4D folders
>> inside this folder are configured pretty much the way they're described in
>> the documentation, and shown in the Demo app. For consistency's sake, I'd
>> like to keep my git archive at /Users/<user>/Documents/AIDTdb on all
>> machines. Since Active4D can make use of symlinks/aliases on MacOS, I
>> thought this wouldn't be a big deal.
>>
>> Configuring things to work with 4D Standalone, and 4D Server is
>> straightforward. However, it's proving quite difficult to configure it with
>> 4D Client (Remote). According to the manual, the <default> folder for a 4D
>> Remote client can be located at <user_home>/Library/Application
>> Support/4D/com.aparajita/Active4D. On my personal machine and the server
>> machine, my <default> folder and my <4d structure> folder are one and the
>> same (AIDTdb). However, this cannot happen on 4D Remote because the
>> <default> folder wants to be the same folder where my config folders are
>> (Active4D).
>>
>> I tried to create a symlink file called "com.aparajita", to my AIDTdb
>> folder, and placed it inside my ~/Library/Application Support/4D folder.
>> This way, my "Active4D" folder inside of AIDTdb would be at the proper
>> relative location for Active4D to find the configuration files.
>>
>> This is confusing as hell. Would somebody please tell me EXACTLY how to do
>> this! Remember, I want to be able to use git to pull in relevant changes,
>> to the 4D Remote machine, where I'm running my web server. The Active4D
>> Documentation seems thorough, but it's also confusing. I can't get it to
>> work. Aparajita, if you're reading this, please figure out how to make this
>> much simpler for future developers.
>>
>> Also, it looks like I will need to remove the Active4D.ini and perhaps
>> Virtualhosts.ini from my git repository, if the 4D Remote machine cannot
>> leverage the same <default> shortcut that's being used in 4D Standalone and
>> 4D Server environments. Please, tell me if I'm wrong.
>>
>>
>> Separate Issue:
>>
>> Where are Active4D log files put on 4D Remote? It may not be logging at
>> all, if it doesn't like the <default> value, but I can't tell. I CAN see
>> Active4D trying to find my key file on my 4D Server machine. I assume it's
>> running simply because the plugin is there. My code runs A4D_Startup in On
>> Server Startup, but I've modified it to look for my "weba4d" (root) folder
>> before actually tries to initialize Active4D. This folder is only found in
>> places I want to run Active4D. (It's not on my production 4D Server, but it
>> IS on my development server, because I only want to use one machine for
>> testing.)
>>
>> Thanks,
>> Doug
>>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Doug Hall-6
Ok, thanks for the clarification and tips. I actually saw the
".../Active4D/conf" listed in the documentation, but assumed that the
"conf" part wasn't intended to represent a folder, but that it stood for
any config file, since the Active4D folder is normally where they reside.
:-/

I'll definitely refresh my memory on git hooks!

Doug


On Fri, Sep 8, 2017 at 12:32 PM, Aparajita Fishman <[hidden email]>
wrote:

> Hi Doug,
>
> When serving from client/remote, you don't use an Active4D folder. All
> configuration files (.ini) and libraries (.a4l) — including the standard
> Active4D stuff — have to be separated into 'conf' and 'lib' directories.
> See page 41 of the docs for the possible locations of the 'conf' directory,
> and page 117 for possible locations of the 'lib' directory.
>
> I can't quite remember the reasoning behind this, but that's the way it is
> for now. I'll look into supporting a single Active4D folder on client.
>
> As for integrating with git on the client, since the directory structure
> is different than on server/standalone, I suggest writing a simple shell
> script that checks out the code into some convenient place, then symlink
> the individual config and lib files into the conf and lib directories.
>
> By the way, you may want to use 'git pull --rebase' when distributing code
> to a non-development machine.
>
> > On Sep 7, 2017, at 11:35 AM, Doug Hall <[hidden email]> wrote:
> >
> > Oops. I forgot to mention that when I try to access my default url, I get
> > an active4D 404 error. (The requested URL / was not found on this server)
> >
> > Doug
> >
> > On Thu, Sep 7, 2017 at 1:32 PM, Doug Hall <[hidden email]> wrote:
> >
> >> I have my "AIDTdb" (<4d structure> folder) in a git repository, so that
> I
> >> can easily track my Active4D changes on multiple machines (locally, on a
> >> test server, and production). Of course, I've configured the .gitignore
> >> file to disregard all the 4D files, among others. The Active4D folders
> >> inside this folder are configured pretty much the way they're described
> in
> >> the documentation, and shown in the Demo app. For consistency's sake,
> I'd
> >> like to keep my git archive at /Users/<user>/Documents/AIDTdb on all
> >> machines. Since Active4D can make use of symlinks/aliases on MacOS, I
> >> thought this wouldn't be a big deal.
> >>
> >> Configuring things to work with 4D Standalone, and 4D Server is
> >> straightforward. However, it's proving quite difficult to configure it
> with
> >> 4D Client (Remote). According to the manual, the <default> folder for a
> 4D
> >> Remote client can be located at <user_home>/Library/Application
> >> Support/4D/com.aparajita/Active4D. On my personal machine and the
> server
> >> machine, my <default> folder and my <4d structure> folder are one and
> the
> >> same (AIDTdb). However, this cannot happen on 4D Remote because the
> >> <default> folder wants to be the same folder where my config folders are
> >> (Active4D).
> >>
> >> I tried to create a symlink file called "com.aparajita", to my AIDTdb
> >> folder, and placed it inside my ~/Library/Application Support/4D folder.
> >> This way, my "Active4D" folder inside of AIDTdb would be at the proper
> >> relative location for Active4D to find the configuration files.
> >>
> >> This is confusing as hell. Would somebody please tell me EXACTLY how to
> do
> >> this! Remember, I want to be able to use git to pull in relevant
> changes,
> >> to the 4D Remote machine, where I'm running my web server. The Active4D
> >> Documentation seems thorough, but it's also confusing. I can't get it to
> >> work. Aparajita, if you're reading this, please figure out how to make
> this
> >> much simpler for future developers.
> >>
> >> Also, it looks like I will need to remove the Active4D.ini and perhaps
> >> Virtualhosts.ini from my git repository, if the 4D Remote machine cannot
> >> leverage the same <default> shortcut that's being used in 4D Standalone
> and
> >> 4D Server environments. Please, tell me if I'm wrong.
> >>
> >>
> >> Separate Issue:
> >>
> >> Where are Active4D log files put on 4D Remote? It may not be logging at
> >> all, if it doesn't like the <default> value, but I can't tell. I CAN see
> >> Active4D trying to find my key file on my 4D Server machine. I assume
> it's
> >> running simply because the plugin is there. My code runs A4D_Startup in
> On
> >> Server Startup, but I've modified it to look for my "weba4d" (root)
> folder
> >> before actually tries to initialize Active4D. This folder is only found
> in
> >> places I want to run Active4D. (It's not on my production 4D Server,
> but it
> >> IS on my development server, because I only want to use one machine for
> >> testing.)
> >>
> >> Thanks,
> >> Doug
> >>
> > _______________________________________________
> > Active4D-dev mailing list
> > [hidden email]
> > http://list.aparajitaworld.com/listinfo/active4d-dev
> > Archives: http://active4d-nabble.aparajitaworld.com/
>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Aparajita Fishman
> Ok, thanks for the clarification and tips. I actually saw the
> ".../Active4D/conf" listed in the documentation, but assumed that the
> "conf" part wasn't intended to represent a folder, but that it stood for
> any config file, since the Active4D folder is normally where they reside.
> :-/

Funny the assumptions we make. For future reference, I made sure I was extremely explicit in the docs. Whatever it says, take it literally. If "conf" stood for any config file, the first search path would have been <Database folder>/Active4D/conf, not <Database folder>/Active4D.


> I'll definitely refresh my memory on git hooks!

It isn't a hook, --rebase is just telling git not to make a merge commit but to rewrite the history to match the repo.

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Doug Hall-6
Aparajita, thanks again for the follow-up email, earlier. I thought I'd go
ahead and publish this email I started last Friday, regarding A4D
configuration. Perhaps there's an idea or two you could implement in the
future.
-----------

I did actually try it as a folder name, first. I forgot what happened to
make me change it back. At the time, I didn't know where my log file was,
or I'd have seen that wasn't the problem. Then, my assumptions led me to
believe that you would not have changed the default location of these init
and library files.

I just hope that, in the future, you can solidify the structure, so that
it's much easier to keep in version control. In my opinion, it's fine to
create aliases to folders that already exist within the <4D
Structure/Default folder>. It's not okay to make developers combine both
Active4D lib files and personal lib files, in the same folder. In a future
version, you could rely more on convention over configuration, too. All
people could define a default folder (forget <4d structure folder>, this
folder has no applicable meaning on 4D Remote, since server files are
cached.) To me, it makes sense to separate my A4D (default) folder from the
4D Structure folder on 4D Standalone and 4D Server instances, anyway. If
everything relative to code and configuration has to be within the default
folder, and in folders with specific names, then it's MUCH simpler to
configure.

The way it is now, having to create symlinks, or copy files between
locations -- just because it's being served from 4D in remote mode, really
sucks. I'm sure you have your reasons, but let's get this fixed in future
versions (7.X?).

As an aside, would you see a problem with putting an initial Active4D
folder on a gitlab instance? This way, if you have an update to a method or
initial config file, we can easily spot this through your commits, and more
readily make those changes on our own setups.

Doug

On Fri, Sep 8, 2017 at 12:47 PM, Aparajita Fishman <[hidden email]>
wrote:

> > Ok, thanks for the clarification and tips. I actually saw the
> > ".../Active4D/conf" listed in the documentation, but assumed that the
> > "conf" part wasn't intended to represent a folder, but that it stood for
> > any config file, since the Active4D folder is normally where they reside.
> > :-/
>
> Funny the assumptions we make. For future reference, I made sure I was
> extremely explicit in the docs. Whatever it says, take it literally. If
> "conf" stood for any config file, the first search path would have been
> <Database folder>/Active4D/conf, not <Database folder>/Active4D.
>
>
> > I'll definitely refresh my memory on git hooks!
>
> It isn't a hook, --rebase is just telling git not to make a merge commit
> but to rewrite the history to match the repo.
>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
>
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Aparajita Fishman
In the forthcoming v7, the separate "conf" and "lib" directories have been abandoned altogether for a single "Active4D" directory, so you can keep the exact same directory structure in all environments.

> On Sep 11, 2017, at 4:57 PM, Doug Hall <[hidden email]> wrote:
>
> Aparajita, thanks again for the follow-up email, earlier. I thought I'd go
> ahead and publish this email I started last Friday, regarding A4D
> configuration. Perhaps there's an idea or two you could implement in the
> future.
> -----------
>
> I did actually try it as a folder name, first. I forgot what happened to
> make me change it back. At the time, I didn't know where my log file was,
> or I'd have seen that wasn't the problem. Then, my assumptions led me to
> believe that you would not have changed the default location of these init
> and library files.
>
> I just hope that, in the future, you can solidify the structure, so that
> it's much easier to keep in version control. In my opinion, it's fine to
> create aliases to folders that already exist within the <4D
> Structure/Default folder>. It's not okay to make developers combine both
> Active4D lib files and personal lib files, in the same folder. In a future
> version, you could rely more on convention over configuration, too. All
> people could define a default folder (forget <4d structure folder>, this
> folder has no applicable meaning on 4D Remote, since server files are
> cached.) To me, it makes sense to separate my A4D (default) folder from the
> 4D Structure folder on 4D Standalone and 4D Server instances, anyway. If
> everything relative to code and configuration has to be within the default
> folder, and in folders with specific names, then it's MUCH simpler to
> configure.
>
> The way it is now, having to create symlinks, or copy files between
> locations -- just because it's being served from 4D in remote mode, really
> sucks. I'm sure you have your reasons, but let's get this fixed in future
> versions (7.X?).
>
> As an aside, would you see a problem with putting an initial Active4D
> folder on a gitlab instance? This way, if you have an update to a method or
> initial config file, we can easily spot this through your commits, and more
> readily make those changes on our own setups.
>
> Doug
>
> On Fri, Sep 8, 2017 at 12:47 PM, Aparajita Fishman <[hidden email]>
> wrote:
>
>>> Ok, thanks for the clarification and tips. I actually saw the
>>> ".../Active4D/conf" listed in the documentation, but assumed that the
>>> "conf" part wasn't intended to represent a folder, but that it stood for
>>> any config file, since the Active4D folder is normally where they reside.
>>> :-/
>>
>> Funny the assumptions we make. For future reference, I made sure I was
>> extremely explicit in the docs. Whatever it says, take it literally. If
>> "conf" stood for any config file, the first search path would have been
>> <Database folder>/Active4D/conf, not <Database folder>/Active4D.
>>
>>
>>> I'll definitely refresh my memory on git hooks!
>>
>> It isn't a hook, --rebase is just telling git not to make a merge commit
>> but to rewrite the history to match the repo.
>>
>> _______________________________________________
>> Active4D-dev mailing list
>> [hidden email]
>> http://list.aparajitaworld.com/listinfo/active4d-dev
>> Archives: http://active4d-nabble.aparajitaworld.com/
>>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Michael Larue-2
Monday, September 25, 2017 at 7:24:41 PM

Hi Aparajita,

Woo hoo! Great news! That will be very helpful, as all my systems are deployed on 4D Client, yet I develop in 4D standalone. One less thing to trip up on when getting these set up and maintaining them.

Thanks again for your continued support for Active4D--very much appreciated!

Cheers!

Michael Larue
Dimension IV Consulting, LLC

-------------------

On Sep 25, 2017, at 7:18 PM, Aparajita Fishman <[hidden email]> wrote:

> In the forthcoming v7, the separate "conf" and "lib" directories have been abandoned altogether for a single "Active4D" directory, so you can keep the exact same directory structure in all environments.

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Aparajita Fishman
Yeah, I should have done this a long time ago, sorry I put you all through so much hassle.  😊

> On Sep 25, 2017, at 10:31 AM, Michael Larue <[hidden email]> wrote:
>
> Monday, September 25, 2017 at 7:24:41 PM
>
> Hi Aparajita,
>
> Woo hoo! Great news! That will be very helpful, as all my systems are deployed on 4D Client, yet I develop in 4D standalone. One less thing to trip up on when getting these set up and maintaining them.
>
> Thanks again for your continued support for Active4D--very much appreciated!
>
> Cheers!
>
> Michael Larue
> Dimension IV Consulting, LLC
>
> -------------------
>
> On Sep 25, 2017, at 7:18 PM, Aparajita Fishman <[hidden email]> wrote:
>
>> In the forthcoming v7, the separate "conf" and "lib" directories have been abandoned altogether for a single "Active4D" directory, so you can keep the exact same directory structure in all environments.
>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Doug Hall-6
May I make a suggestion? Take a page from some other languages (okay,
Elixir) and allow the libraries to be nested. Have one "lib" folder, and
put your Active4D folder here. This lib folder is also where the developer
could put their own libraries or library folders.

Inside the Active4D folder, you have the standard console, debug, json,
lists, etc. libraries, but those filenames would actually be: console.a4l,
debug.a4l, json.a4l, etc. instead of all being prefixed by "a4d." The
library definition inside these files would actually read: library
"active4D.console". Each dot in the library name would represent a folder
within the lib folder, so the active4D part refers to the containing folder.

In your plugin code, you could implement an alias command, to help
developers shorten the access to these libraries, like this:

alias "Active4D.util" as "util" (or just: alias "Active4D.util"   to
default to the last portion as the alias name.)

So, the developer could use: util.unlockAndLoad([TableName]) instead of
Active4D.util.unlockAndLoad([TableName]).

It would probably be better to require either the full Library prefix or an
alias, than for you to try and figure out which library's method is being
called. This may not be backward compatible, but it could at least help fix
some namespace issues.

I'm sure this is easier said than done, but it would help to better
namespace libraries, and also keep separate concerns better organized
within the project code. I have SEVERAL really long libraries that I could
break into smaller libraries if I could simply namespace their containing
folder(s).

Thanks for the progress!
Doug

On Mon, Sep 25, 2017 at 12:41 PM, Aparajita Fishman <[hidden email]
> wrote:

> Yeah, I should have done this a long time ago, sorry I put you all through
> so much hassle.  😊
>
> > On Sep 25, 2017, at 10:31 AM, Michael Larue <[hidden email]> wrote:
> >
> > Monday, September 25, 2017 at 7:24:41 PM
> >
> > Hi Aparajita,
> >
> > Woo hoo! Great news! That will be very helpful, as all my systems are
> deployed on 4D Client, yet I develop in 4D standalone. One less thing to
> trip up on when getting these set up and maintaining them.
> >
> > Thanks again for your continued support for Active4D--very much
> appreciated!
> >
> > Cheers!
> >
> > Michael Larue
> > Dimension IV Consulting, LLC
> >
> > -------------------
> >
> > On Sep 25, 2017, at 7:18 PM, Aparajita Fishman <[hidden email]>
> wrote:
> >
> >> In the forthcoming v7, the separate "conf" and "lib" directories have
> been abandoned altogether for a single "Active4D" directory, so you can
> keep the exact same directory structure in all environments.
> >
> > _______________________________________________
> > Active4D-dev mailing list
> > [hidden email]
> > http://list.aparajitaworld.com/listinfo/active4d-dev
> > Archives: http://active4d-nabble.aparajitaworld.com/
>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
>
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Aparajita Fishman
You can make the suggestion, but there's zero chance of it happening. You're talking about a major rewrite of the library system.

> On Sep 25, 2017, at 2:53 PM, Doug Hall <[hidden email]> wrote:
>
> May I make a suggestion? Take a page from some other languages (okay,
> Elixir) and allow the libraries to be nested. Have one "lib" folder, and
> put your Active4D folder here. This lib folder is also where the developer
> could put their own libraries or library folders.
>
> Inside the Active4D folder, you have the standard console, debug, json,
> lists, etc. libraries, but those filenames would actually be: console.a4l,
> debug.a4l, json.a4l, etc. instead of all being prefixed by "a4d." The
> library definition inside these files would actually read: library
> "active4D.console". Each dot in the library name would represent a folder
> within the lib folder, so the active4D part refers to the containing folder.
>
> In your plugin code, you could implement an alias command, to help
> developers shorten the access to these libraries, like this:
>
> alias "Active4D.util" as "util" (or just: alias "Active4D.util"   to
> default to the last portion as the alias name.)
>
> So, the developer could use: util.unlockAndLoad([TableName]) instead of
> Active4D.util.unlockAndLoad([TableName]).
>
> It would probably be better to require either the full Library prefix or an
> alias, than for you to try and figure out which library's method is being
> called. This may not be backward compatible, but it could at least help fix
> some namespace issues.
>
> I'm sure this is easier said than done, but it would help to better
> namespace libraries, and also keep separate concerns better organized
> within the project code. I have SEVERAL really long libraries that I could
> break into smaller libraries if I could simply namespace their containing
> folder(s).
>
> Thanks for the progress!
> Doug
>
> On Mon, Sep 25, 2017 at 12:41 PM, Aparajita Fishman <[hidden email]
>> wrote:
>
>> Yeah, I should have done this a long time ago, sorry I put you all through
>> so much hassle.  😊
>>
>>> On Sep 25, 2017, at 10:31 AM, Michael Larue <[hidden email]> wrote:
>>>
>>> Monday, September 25, 2017 at 7:24:41 PM
>>>
>>> Hi Aparajita,
>>>
>>> Woo hoo! Great news! That will be very helpful, as all my systems are
>> deployed on 4D Client, yet I develop in 4D standalone. One less thing to
>> trip up on when getting these set up and maintaining them.
>>>
>>> Thanks again for your continued support for Active4D--very much
>> appreciated!
>>>
>>> Cheers!
>>>
>>> Michael Larue
>>> Dimension IV Consulting, LLC
>>>
>>> -------------------
>>>
>>> On Sep 25, 2017, at 7:18 PM, Aparajita Fishman <[hidden email]>
>> wrote:
>>>
>>>> In the forthcoming v7, the separate "conf" and "lib" directories have
>> been abandoned altogether for a single "Active4D" directory, so you can
>> keep the exact same directory structure in all environments.
>>>
>>> _______________________________________________
>>> Active4D-dev mailing list
>>> [hidden email]
>>> http://list.aparajitaworld.com/listinfo/active4d-dev
>>> Archives: http://active4d-nabble.aparajitaworld.com/
>>
>> _______________________________________________
>> Active4D-dev mailing list
>> [hidden email]
>> http://list.aparajitaworld.com/listinfo/active4d-dev
>> Archives: http://active4d-nabble.aparajitaworld.com/
>>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/

_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/
Reply | Threaded
Open this post in threaded view
|

Re: Configuring 4D Client to serve

Doug Hall-6
It was worth a shot. :-)

On Mon, Sep 25, 2017 at 5:07 PM, Aparajita Fishman <[hidden email]>
wrote:

> You can make the suggestion, but there's zero chance of it happening.
> You're talking about a major rewrite of the library system.
>
> > On Sep 25, 2017, at 2:53 PM, Doug Hall <[hidden email]> wrote:
> >
> > May I make a suggestion? Take a page from some other languages (okay,
> > Elixir) and allow the libraries to be nested. Have one "lib" folder, and
> > put your Active4D folder here. This lib folder is also where the
> developer
> > could put their own libraries or library folders.
> >
> > Inside the Active4D folder, you have the standard console, debug, json,
> > lists, etc. libraries, but those filenames would actually be:
> console.a4l,
> > debug.a4l, json.a4l, etc. instead of all being prefixed by "a4d." The
> > library definition inside these files would actually read: library
> > "active4D.console". Each dot in the library name would represent a folder
> > within the lib folder, so the active4D part refers to the containing
> folder.
> >
> > In your plugin code, you could implement an alias command, to help
> > developers shorten the access to these libraries, like this:
> >
> > alias "Active4D.util" as "util" (or just: alias "Active4D.util"   to
> > default to the last portion as the alias name.)
> >
> > So, the developer could use: util.unlockAndLoad([TableName]) instead of
> > Active4D.util.unlockAndLoad([TableName]).
> >
> > It would probably be better to require either the full Library prefix or
> an
> > alias, than for you to try and figure out which library's method is being
> > called. This may not be backward compatible, but it could at least help
> fix
> > some namespace issues.
> >
> > I'm sure this is easier said than done, but it would help to better
> > namespace libraries, and also keep separate concerns better organized
> > within the project code. I have SEVERAL really long libraries that I
> could
> > break into smaller libraries if I could simply namespace their containing
> > folder(s).
> >
> > Thanks for the progress!
> > Doug
> >
> > On Mon, Sep 25, 2017 at 12:41 PM, Aparajita Fishman <
> [hidden email]
> >> wrote:
> >
> >> Yeah, I should have done this a long time ago, sorry I put you all
> through
> >> so much hassle.  😊
> >>
> >>> On Sep 25, 2017, at 10:31 AM, Michael Larue <[hidden email]> wrote:
> >>>
> >>> Monday, September 25, 2017 at 7:24:41 PM
> >>>
> >>> Hi Aparajita,
> >>>
> >>> Woo hoo! Great news! That will be very helpful, as all my systems are
> >> deployed on 4D Client, yet I develop in 4D standalone. One less thing to
> >> trip up on when getting these set up and maintaining them.
> >>>
> >>> Thanks again for your continued support for Active4D--very much
> >> appreciated!
> >>>
> >>> Cheers!
> >>>
> >>> Michael Larue
> >>> Dimension IV Consulting, LLC
> >>>
> >>> -------------------
> >>>
> >>> On Sep 25, 2017, at 7:18 PM, Aparajita Fishman <
> [hidden email]>
> >> wrote:
> >>>
> >>>> In the forthcoming v7, the separate "conf" and "lib" directories have
> >> been abandoned altogether for a single "Active4D" directory, so you can
> >> keep the exact same directory structure in all environments.
> >>>
> >>> _______________________________________________
> >>> Active4D-dev mailing list
> >>> [hidden email]
> >>> http://list.aparajitaworld.com/listinfo/active4d-dev
> >>> Archives: http://active4d-nabble.aparajitaworld.com/
> >>
> >> _______________________________________________
> >> Active4D-dev mailing list
> >> [hidden email]
> >> http://list.aparajitaworld.com/listinfo/active4d-dev
> >> Archives: http://active4d-nabble.aparajitaworld.com/
> >>
> > _______________________________________________
> > Active4D-dev mailing list
> > [hidden email]
> > http://list.aparajitaworld.com/listinfo/active4d-dev
> > Archives: http://active4d-nabble.aparajitaworld.com/
>
> _______________________________________________
> Active4D-dev mailing list
> [hidden email]
> http://list.aparajitaworld.com/listinfo/active4d-dev
> Archives: http://active4d-nabble.aparajitaworld.com/
>
_______________________________________________
Active4D-dev mailing list
[hidden email]
http://list.aparajitaworld.com/listinfo/active4d-dev
Archives: http://active4d-nabble.aparajitaworld.com/