Re: Help->v11 to v17 Upgrade or New?

2018-10-23 Thread Tim Nevels via 4D_Tech
On Oct 23, 2018, at 2:00 PM, Tom Benedict wrote:

> Dani Beaubien writes:
>> 
>> I use the external git client for diffs against historical commits and I use 
>> the
>> Code Analysis component for diffs between what is in the 4D structure
>> compares against the last export to the external folder.
> 
> We did a similar thing based on Thomas Maul's MethodHistory component. We 
> added a UI and integrated it into our semi-automated build/version tracking 
> process. Compare method versions on screen filtered by date/version.
> 
>> Works quite well. Definitely a few extra steps but benefits to be able to go 
>> back
>> in time and see the change history tied to code commit is amazingly useful.
> 
> We use it for pre-release code review as well as post-release 
> troubleshooting, if needed. It helped improve code quality on an 8 developer 
> team.

I did a similar thing. I took Thomas Maul’s component and then customized it to 
suit my needs. I basically wanted to have a “Show History” option available in 
any open method window in Design. Accomplished that with a macro that calls a 
method to display a window with the current version of the method and the 
previous version of the method diff'd. It uses a JSON library to do the diff. 
Also a dropdown menu to select older versions of the method to compare and a 
“Copy” button to bring back older versions. 

I decide when I want to take a “snapshot” of the database and save the current 
version of each method. I usually do this just before I build and deploy a new 
version. But I can also save a version of any method at any time I want with 
another macro call from an open method window.

At first I built this thing to create thousands of text files of all the 
methods in hundreds folders all organized so that I could use GitHub to store 
the method text and do the diffs and all the things everyone says is so 
fantastic and cool and just must be done if you want to be a REAL developer.

I gave up on that because it is was becoming a large amount of work automating 
all of that and testing it and getting it all working and you still have to 
wander around on the website or with separate diff tools to get what I wanted 
which was “open a window showing the current version of a method and let me 
compare and diff it against previous versions.”

I ended up with a very simple to use and maintain system that uses a 4D 
external database. Yeah, remember those things that’s been around for many 
versions that you can only access with SQL? Turned out it was so much easier to 
deal with, control and maintain than the whole GitHub thing. And it’s easy to 
add indexes to these external databases via SQL code so look ups are super 
fast. 

This also works with 4D Team Developer so that a group of developers I work 
with can use it from 4D Client. Same code works on 4D or 4D Client. Everything 
is stored on 4D Server in a single folder named “Method History” that contains 
3 files: Method History.4DB, Method History.4DD and Method History.Match. 

So before you decide that you have to do GitHub because that’s what everyone 
says you should do, consider what you really want and really need and weigh 
that against how much work it’s going to take to accomplish that. Of course I 
know some love to spend tons of time building super complex things because it 
gives them great satisfaction, but I’ve got other more fun and interesting 
things to do with my spare time. :)

Tim

*
Tim Nevels
Innovative Solutions
785-749-3444
timnev...@mac.com
*

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-22 Thread Benedict, Tom via 4D_Tech
Dani Beaubien writes:
>
>I use the external git client for diffs against historical commits and I use 
>the
>Code Analysis component for diffs between what is in the 4D structure
>compares against the last export to the external folder.

We did a similar thing based on Thomas Maul's MethodHistory component. We added 
a UI and integrated it into our semi-automated build/version tracking process. 
Compare method versions on screen filtered by date/version.

>Works quite well. Definitely a few extra steps but benefits to be able to go 
>back
>in time and see the change history tied to code commit is amazingly useful.

We use it for pre-release code review as well as post-release troubleshooting, 
if needed. It helped improve code quality on an 8 developer team.

Tom Benedict
Optum
This e-mail, including attachments, may include confidential and/or
proprietary information, and may be used only by the person or entity
to which it is addressed. If the reader of this e-mail is not the intended
recipient or his or her authorized agent, the reader is hereby notified
that any dissemination, distribution or copying of this e-mail is
prohibited. If you have received this e-mail in error, please notify the
sender by replying to this message and delete this e-mail immediately.
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-22 Thread Patrick Emanuel via 4D_Tech
4D Tech mailing list wrote
> I am not uploading directly from 4D. I thought about implementing that but
> decided against it since 4D is going that direction them selves. Waiting
> to see what they come up with.

I understood the same from teh Summit.
Anyway, there is an existing  module in QS_Toolbox doing this, but I will
not improve it more that it is today until the 4D Release having this
function (v18?) and will concentrate my work on the others modules.





-
Patrick EMANUEL

Administrator
www.association-qualisoft.eu 
(Soft1002, Simply Asso & QS_Toolbox)
--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-21 Thread Walt Nelson via 4D_Tech
Folks,

I would like to suggest you (if you haven’t already) check out a paid product 
from the Foundation Shell App Store by Robert Livingston for a 4D database 
solution to storing the text from all your methods and object methods 
automatically.

ArchiveMethod 

 for $97 compiled

Robert has done a great job of solving version control for your 4D database 
methods.

> ArchiveMethod is a 4D system that collects all your methods in your 4D 
> databases (as many as you want) into a single 4D database for version 
> control, documentation and archiving in a single location. This allows the 
> developer to monitor the changes over time and search for methods or code 
> they have used in the past. If you have ever wondered where your routine for 
> customizing mail addresses lives or what the latest version of your parsing 
> routine is – ArchiveMethod is the tool for you.
> It is written by long-time 4D developer Dr. Robert Livingston to solve a need 
> he had for keeping track of all his database methods. It is now available for 
> all 4D programmers to use. He is always open to feature enhancements and 
> considers every request as an opportunity to improve the product.
> The product includes complete user documentation as well as over-the-shoulder 
> video tutorials on best practices in using the ArchiveMethod system.

Thanks,
Walt Nelson (Seattle)

www.foundationshell.com 
w...@foundationshell.com 


> On Oct 21, 2018, at 1:11 PM, Dani Beaubien via 4D_Tech <4d_tech@lists.4d.com 
> > wrote:
> 
> I use the external git client for diffs against historical commits and I use 
> the Code Analysis component for diffs between what is in the 4D structure 
> compares against the last export to the external folder.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-21 Thread Dani Beaubien via 4D_Tech
I am not uploading directly from 4D. I thought about implementing that but 
decided against it since 4D is going that direction them selves. Waiting to see 
what they come up with.

My workflow is to use the Code Analysis component to export all my code, 4D 
Structure and form properties (gathered using 4D’s get functions) all into a 
single folder. I then use an external git client to commit changes in that 
folder to a git repository I make sure that I do a commit per bug/feature. When 
I do my commit I include the task id from the bug reporting system that I use 
so I have a complete reference on why certain methods were updated.

I use the external git client for diffs against historical commits and I use 
the Code Analysis component for diffs between what is in the 4D structure 
compares against the last export to the external folder.

Works quite well. Definitely a few extra steps but benefits to be able to go 
back in time and see the change history tied to code commit is amazingly useful.

I ran into an issue where I needed to find out when a particular bug was 
introduced. I was able to use the repository to find the exact commit that 
introduced the bug, what the original (and correct code) used to be and what 
else was changed in that commit. Save me hours and hours of banging my head on 
the keyboard.

Dani Beaubien
Open Road Development


> On Oct 19, 2018, at 5:28 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Dani,
> 
> On Fri, Oct 19, 2018 at 8:22 AM Dani Beaubien via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> 
>> I have been using GitHub to track changes on the exported code. I have
>> projects that go back years that are in GitHub.
> 
> Did I just hear you say something about uploading direct from 4D into
> GitHub... 
> 
> -- 
> Kirk Brooks
> San Francisco, CA
> ===
> 
> *We go vote - they go home*
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-20 Thread Kirk Brooks via 4D_Tech
Robert,
What I was dropping not-so-subtle hints about is working out the interface
for the GitHub API, which I found - unwelcoming, to support exporting
directly to GitHub from 4D and allowing me to pull from it as well. All the
tools for this are already in 4D, it's just a matter of working out the API
interface. Or so it seems. The inner workings of GitHub are still a bit
mysterious to me and and the API docs didn't do anything to clarify it for
me. But it seems like something that's doable.

On Sat, Oct 20, 2018 at 1:47 PM Robert ListMail via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> Kirk, I think any mechanism that can export 4D code as text (plain text,
> JSON, XML, etc) can be used via GitHub to at least manage method changes.
> So, with the new v17r3 we have a native way to share the entire structure
> which will allow us to use version control. However, the limitations seem
> to be that we can not pull a version from a Git repository and integrate
> that back into 4D. I assume that’s coming to a 4D version near you, but as
> I understand it, we don’t have that ability just yet. It’s a one way street
> although a very welcome one.
>
> FWIW,
>
> Robert
>
> > On Oct 19, 2018, at 6:28 PM, Kirk Brooks via 4D_Tech <
> 4d_tech@lists.4d.com> wrote:
> >
> > Did I just hear you say something about uploading direct from 4D into
> > GitHub... 
>
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **



-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-20 Thread Robert ListMail via 4D_Tech
Kirk, I think any mechanism that can export 4D code as text (plain text, JSON, 
XML, etc) can be used via GitHub to at least manage method changes. So, with 
the new v17r3 we have a native way to share the entire structure which will 
allow us to use version control. However, the limitations seem to be that we 
can not pull a version from a Git repository and integrate that back into 4D. I 
assume that’s coming to a 4D version near you, but as I understand it, we don’t 
have that ability just yet. It’s a one way street although a very welcome one.

FWIW,

Robert

> On Oct 19, 2018, at 6:28 PM, Kirk Brooks via 4D_Tech <4d_tech@lists.4d.com> 
> wrote:
> 
> Did I just hear you say something about uploading direct from 4D into
> GitHub... 

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-20 Thread Patrick Emanuel via 4D_Tech
Hi Kirk,


4D Tech mailing list wrote
> Did I just hear you say something about uploading direct from 4D into
> GitHub... 

It is not what I understood. He used GitHub to manage his version. But, if
you're right, I'm also very interested by this ;-)



-
Patrick EMANUEL

Administrator
www.association-qualisoft.eu 
(Soft1002, Simply Asso & QS_Toolbox)
--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-19 Thread Kirk Brooks via 4D_Tech
Dani,

On Fri, Oct 19, 2018 at 8:22 AM Dani Beaubien via 4D_Tech <
4d_tech@lists.4d.com> wrote:

> I have been using GitHub to track changes on the exported code. I have
> projects that go back years that are in GitHub.

Did I just hear you say something about uploading direct from 4D into
GitHub... 

-- 
Kirk Brooks
San Francisco, CA
===

*We go vote - they go home*
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-19 Thread Dani Beaubien via 4D_Tech
In this situation, I use Code Analysis is to find out what code has changed due 
to the upgrade to a newer version of 4D.

Here is an example.
I am moving a structure from v16 to v17 and I want to know all the changes that 
occur.
In v16, I use the Code Analysis component to export all the methods.
I upgrade the structure to v17
I then use the Code Analysis component to compare my v17 structure to the 
previously exported v16 code.
From this I can see all the command changes and any other changes.

This is helpful for you to understand any changes that you were not aware of. I 
ran into an update that happened during a v16 R release that changed the blank 
date format from !00/00/00! to !00/00/!. It broke some parsing that I was 
doing and I was able to catch it early.

The component will not change any of your code. So the work of dealing with the 
_o_ must done by you, the developer.

Personally, I prefer to do the work to deal with the “_o_” code manually. It 
forces me to be a bit more deliberate and it avoids unexpected issues. Prior to 
doing that I make sure I do a code export using Code Analysis and then I do a 
code compare and verify each method that the only change that I made was to 
deal with the _o_ calls. Once I am happy, I export the code again and then I 
can continue on with the next chunk.

I have been using GitHub to track changes on the exported code. I have projects 
that go back years that are in GitHub. Super useful when I need to diagnosis an 
issue and find out when a particular change was made.

Dani Beaubien
Open Road Development

> On Oct 19, 2018, at 1:52 AM, Patrick Emanuel via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> About QS_Toolbox, the one I really know, there is a bunch of tools in the 
> Structure Analysis   
> part.
> It works from V15 to V17, but nothing has been added since V16R6.
> QS_Toolbox performed very few update for you. Its goal is to identify what
> you can do, but you keep the control on what you update.
> 
> I'm currently thinking to update it for V17 and surely it will take a while
> for me due to all things I have in my mind.
> 
> About  CodeAnalysis
>   ,
> it is the also a very useful tool. I will let Dani to speak more about it.
> 
> Patrick
> 
> 
> 
> -
> Patrick EMANUEL
> 
> Administrator
> www.association-qualisoft.eu 
> (Soft1002, Simply Asso & QS_Toolbox)
> --
> Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-19 Thread Patrick Emanuel via 4D_Tech
About QS_Toolbox, the one I really know, there is a bunch of tools in the 
Structure Analysis   
part.
It works from V15 to V17, but nothing has been added since V16R6.
QS_Toolbox performed very few update for you. Its goal is to identify what
you can do, but you keep the control on what you update.

I'm currently thinking to update it for V17 and surely it will take a while
for me due to all things I have in my mind.

About  CodeAnalysis
  ,
it is the also a very useful tool. I will let Dani to speak more about it.

Patrick



-
Patrick EMANUEL

Administrator
www.association-qualisoft.eu 
(Soft1002, Simply Asso & QS_Toolbox)
--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-19 Thread Robert ListMail via 4D_Tech
Patrick or Dani, how might your tool help identify what needs to change?

R

Sent from my iPhone

> On Oct 19, 2018, at 2:09 AM, Patrick Emanuel via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Some tools can help you like QS_Toolbox from me or CodeAnalysis from Dani
> Beaubien for example, and they should help you to idenify what to update for
> your migration.
> These tools are free and very helpful.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-19 Thread Patrick Emanuel via 4D_Tech
4D Tech mailing list wrote
> So, there are more than 700 lines of code with the deprecated “_o_”
> prefix. Perhaps I could make a lot of that go away via Search/Replace (a
> feature that I normally don’t use).

Some tools can help you like QS_Toolbox from me or CodeAnalysis from Dani
Beaubien for example, and they should help you to idenify what to update for
your migration.
These tools are free and very helpful.

Patrick



-
Patrick EMANUEL

Administrator
www.association-qualisoft.eu 
(Soft1002, Simply Asso & QS_Toolbox)
--
Sent from: http://4d.1045681.n5.nabble.com/4D-Tech-f1376241.html
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Spencer Hinsdale via 4D_Tech

It was Dani!  Yeah, 4D is awesome at this stuff.  We get upgrades old, old 
versions all the time and our current structure just opens these old data 
files, and 4d does its magic to uid them, unicode them, de'subtable them.  no 
problem.


> On Oct 18, 2018, at 2:19 PM, Robert ListMail via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> Okay, I can’t find it now but someone said, "hey pop it into v17 and see if 
> it works…" or something like that. Well, I did just that and without any 
> changes it compiled (after toggling unicode on) and I created a built server 
> and client and ran a few tests. Yes, as I recall, I did fix all of the syntax 
> errors years ago. It seems to work for the most part (PICT icons and images 
> do not show and a couple of fields cannot be used for data entry, I’m sure 
> that’s an easy fix). I’m surprised this works at all! So, there are more than 
> 700 lines of code with the deprecated “_o_” prefix. Perhaps I could make a 
> lot of that go away via Search/Replace (a feature that I normally don’t use).
> 
> Thanks to all of you that have contributed. It looks like I can get this 
> running as it did before via v17 so that it can run on their new hardware 
> running the latest Windows server and Win10 clients…. Of course they want 
> this yesterday, so I could deliver the converted one and then upgrade 
> incrementally. Yes, it does look ugly as f*ck but sadly no one is complaining 
> about that.
> 
> Thanks,
> 
> Robert
> 
>> On Oct 17, 2018, at 3:11 PM, Spencer Hinsdale via 4D_Tech 
>> <4d_tech@lists.4d.com> wrote:
>> 
>> 4D automatically converts Subtables. This should not be a problem.
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Robert ListMail via 4D_Tech
Okay, I can’t find it now but someone said, "hey pop it into v17 and see if it 
works…" or something like that. Well, I did just that and without any changes 
it compiled (after toggling unicode on) and I created a built server and client 
and ran a few tests. Yes, as I recall, I did fix all of the syntax errors years 
ago. It seems to work for the most part (PICT icons and images do not show and 
a couple of fields cannot be used for data entry, I’m sure that’s an easy fix). 
I’m surprised this works at all! So, there are more than 700 lines of code with 
the deprecated “_o_” prefix. Perhaps I could make a lot of that go away via 
Search/Replace (a feature that I normally don’t use).

Thanks to all of you that have contributed. It looks like I can get this 
running as it did before via v17 so that it can run on their new hardware 
running the latest Windows server and Win10 clients…. Of course they want this 
yesterday, so I could deliver the converted one and then upgrade incrementally. 
Yes, it does look ugly as f*ck but sadly no one is complaining about that.

Thanks,

Robert

> On Oct 17, 2018, at 3:11 PM, Spencer Hinsdale via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> 4D automatically converts Subtables. This should not be a problem.

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Kirk Brooks via 4D_Tech
Robert,
I am just taking on a project for a similar situation: v11 to v17. I
haven't had a chance to really dive into the code yet so I'm not really
sure what's there but at this point the client's intention is to
essentially keep the database on 'palliative care' for the next 1 to 2
years when they migrate to another platform. Given their needs at the
moment a re-write isn't in the cards.

In another project, one I started in v6 and maintained for the past 15
years, I have performed two 'greenfield' re-writes. The first was going
from v6 -> v2004, the second v2004 -> v13. In both cases the re-write was
necessary to correct structural design issues. This project grew in scope
quite a bit and changing the basic data structure made it easier to
continue to grow as well as leverage 4D's new capabilities. Looking back
they were the right decisions at the time but especially the second
migration was a lot of work. And in both cases the data had to be dumped
from the old structure and imported into the new one with different levels
of transformation required. This is not a bad thing. Especially in bespoke
projects the data can become munged up with structure, interface elements
and this is never a good thing. It's always a result of some momentary
expediency and over time becomes increasingly detrimental.

You know the question we are talking about here is what's called 'technical
debt' and there are a ton of things written about it. I've been reading a
few of them lately as well as talking with other developers about it. 4D is
particularly ripe for these discussions because of the backward
compatibility it has so rigorously embraced. The fact there are still so
many critical systems running geriatric versions of 4D proves this point.
The final straw that's moving the client I mentioned to act is the system
has been running on a single computer for years, the person who wrote it
has retired and the computer, the hardware, is showing signs of failing and
no one in the organization knows how to deal with 4D.

This isn't an unusual story in 4D land.

So now we come to the business question - can you just keep it working for
another year or two? For better or worse the answer is yes. I don't know
what I'm going to tell them it will cost to do that yet but it's certainly
a fraction of what I'd quote for a rewrite. Is that a good thing overall?
Schmaybe. As a business principle would 4D loose some clients if there were
limits on the perpetual backward compatibility. On the other hand we
wouldn't be seeing v17 databases running code so old you just need a black
background and a gold colored, pixelated font to believe you're working on
an old VT100. It's hard to convincingly talk about how modern 4D is when
you're looking at that on the screen.

Bottom line - a re-write is a hard sell. It's a hard sell in any case but
especially for 4D precisely because we've been around so long the
perception (Perception) is the technology is old. It's not but the IT guys
sitting in the room who only know about it as this PITA system they don't
understand and can't get rid of are not going to embrace it.

What we, developers, can do is be more like 4D. Like v17 4D. ORDA is
essentially a new programming language within the 4D shell. (I know there
are some strong voices saying this isn't true. Flame on.) I didn't think
such a thing was possible or that I would ever see it. I was wrong about
that and I'm delighted. The old bones of 4D are still there and available
but there are new options as well.

I suggest this is the model we can extend to modernizing old projects.
Namely, instead of staking out large swaths of green fields and building
from scratch (think Albuquerque) move the existing tables over to the right
and build on top of what you've got (think Rome). I tend to start with the
overall approach to displaying data. The existing project probably uses a
lot of MODIFY SELECTION and MODIFY RECORD. This was fabulous in the day but
you can do better now. So do it. Structural issues can be identified,
solutions developed, tables added and the relevant data migrated within the
current structure. There are some real benefits to this approach not the
least of which being if something goes sideways you can roll back to the
old data by rolling back the structure. There is plenty of time to purge
the datafile once you have certainty the new approach works.

It is important to clear the old data AND the obsolete code. This second
point is really important because if you don't periodically identify and
remove obsolete code then this "build on top" approach spirals into
unmanageability. Or at least a structure where you may have a few thousand
methods but only a few hundred actually are used.

The point is we can modernize and migrate a mature app on top of the old
structure. This allows us to make incremental changes, particularly in the
user interface, that can revive a project.


On Wed, Oct 17, 2018 at 12:45 PM Robert ListMail via 4D_Tech 

Re: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Arnaud de Montard via 4D_Tech

> Le 17 oct. 2018 à 21:45, Robert ListMail via 4D_Tech <4d_tech@lists.4d.com> a 
> écrit :
> 
> [...]
> 
> Also, the client originally said the new database would not have to migrate 
> data forward from the old system and now they are wanting to have the data 
> too.

Most of the I write the new application in the old one when existing data must 
be recovered. I can for example keep correctly designed tables, create a table 
to replace a subtable and pour records from subtable in it, avoid the 
export/import nightmare from different structures, etc. 
The old stuff (tables, forms, etc.) will be deleted after the new app is 
released. 

-- 
Arnaud de Montard 



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: Help->v11 to v17 Upgrade or New?

2018-10-18 Thread Epperlein, Lutz (agendo) via 4D_Tech
If in doubt I would vote for a rewrite, even more if the old application is 
poor 
designed. We struggle from time to time with problems caused by using legacy 
4D code. E.g. sometimes there were assumptions made in the past regarding 
performance they are nowadays simply wrong and are causing now performance 
problems even more.
And new code written by yourself you are able to understand. You can use your 
conventions and rules of developing. In my experience old code is usually poor 
or wrong commented and often because of its complexity there is some effort to 
understand and fix it.
But if you are quite sure you have to move the whole thing to a new version 
only and you don't have to touch it anymore in the future, so you can migrate 
it only. But these assumptions are wrong in the most cases, this is at least my 
experience.

So IMHO it's better to bite the bullet and build a new one from scratch.

Only my 2 cents ...

Regards

--  
Lutz Epperlein  
--
Agendo Gesellschaft für politische Planung mbH
Köpenicker Str. 9
10997 Berlin
http://www.agendo.de/
--



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Chuck Miller via 4D_Tech
I would go and using v 11 create new tables using key from main table move data 
and then upgrade. I would lastly delete the old sub table and mark the link as 
unused 

Sent from my iPhone

> On Oct 17, 2018, at 4:36 PM, Timothy Penner via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> The main conversion of subtables took place when upgrading to v11, this was 
> automatic.
> ^ This only applied to sincle-level subtables as anything beyond the first 
> level was lost: http://kb.4d.com/assetid=49513
> 
> The rest of the conversion needs to be done by the developer and consists of 
> replacing the subtable commands and redrawing the relationship line. This is 
> not automatic.
> 
> -Tim
> 
> 
> 
> 
> 
> 
> 
> -Original Message-
> From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Spencer Hinsdale 
> via 4D_Tech
> Sent: Wednesday, October 17, 2018 1:11 PM
> To: 4D iNug Technical <4d_tech@lists.4d.com>
> Cc: Spencer Hinsdale 
> Subject: Re: Help->v11 to v17 Upgrade or New?
> 
> 
> 4D automatically converts Subtables. This should not be a problem.
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Chip Scheide via 4D_Tech
At some point, v18(?), 4D will completely drop support for subtables.

as I understand:
a simple conversion to the current version will allow all the functions 
of existing subtables to continue working -- without -- any change to 
code.
As noted by Tim Penner, but typo-ed :), this applies to a SINGLE level 
of sub-tables.

table OK
  sub-table OK
   sub-sub-table ... sub--table FAIL

There are changes to the structure during this conversion.
The subtable becomes a normal 4D table, with a new "relation" created 
between the previous subtable and it parent. This "special Relation" 
allows the sub-table commands to continue working.

If you delete/change this special relation all subtable functionality 
for that relationship is gone and can not be recovered (without 
reconverting the database).



On Wed, 17 Oct 2018 14:45:52 -0500, Robert ListMail via 4D_Tech wrote:
> I have an old v11 database running on Windows that’s not particularly 
> well-designed and where there are more than a few subtables to deal 
> with. Assuming that there is no additional budget for writing a new 
> clean app, would you likely upgrade or re-write in v17 with the old 
> v11 structure as guide?  I’m concerned that the upgrade path will be 
> difficult because of the subtables and that by the time you deal with 
> all of the legacy junk not this database from the early 90s you could 
> have created something fresh and new. How might you approach this?
> 
> Also, the client originally said the new database would not have to 
> migrate data forward from the old system and now they are wanting to 
> have the data too.
> 
> Thanks,
> 
> Robert
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
---
Gas is for washing parts
Alcohol is for drinkin'
Nitromethane is for racing 
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Timothy Penner via 4D_Tech
> The rest of the conversion needs to be done by the developer and consists of 
> replacing the subtable commands and redrawing the relationship line. This is 
> not automatic.

See more here: http://livedoc.4d.com/4Dv17/help/Title/en/page3607.html#1693868


What we mean by “change the code everywhere if it is needed” is, basically:

* Create the new forms, update included forms

* In the methods (project, form, object, etc.):
   + Replace all commands of the “SubRecords” theme with the corresponding 
Selection or Record command (for example, replace _o_CREATE SUBRECORD with 
CREATE RECORD, filling the ID fields)
   + Explicitly load the N records when needed



-Tim



**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

RE: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Timothy Penner via 4D_Tech
The main conversion of subtables took place when upgrading to v11, this was 
automatic.
^ This only applied to sincle-level subtables as anything beyond the first 
level was lost: http://kb.4d.com/assetid=49513

The rest of the conversion needs to be done by the developer and consists of 
replacing the subtable commands and redrawing the relationship line. This is 
not automatic.

-Tim







-Original Message-
From: 4D_Tech <4d_tech-boun...@lists.4d.com> On Behalf Of Spencer Hinsdale via 
4D_Tech
Sent: Wednesday, October 17, 2018 1:11 PM
To: 4D iNug Technical <4d_tech@lists.4d.com>
Cc: Spencer Hinsdale 
Subject: Re: Help->v11 to v17 Upgrade or New?


4D automatically converts Subtables. This should not be a problem.
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Spencer Hinsdale via 4D_Tech

4D automatically converts Subtables. This should not be a problem.

> On Oct 17, 2018, at 12:45 PM, Robert ListMail via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I have an old v11 database running on Windows that’s not particularly 
> well-designed and where there are more than a few subtables to deal with. 
> Assuming that there is no additional budget for writing a new clean app, 
> would you likely upgrade or re-write in v17 with the old v11 structure as 
> guide?  I’m concerned that the upgrade path will be difficult because of the 
> subtables and that by the time you deal with all of the legacy junk not this 
> database from the early 90s you could have created something fresh and new. 
> How might you approach this?
> 
> Also, the client originally said the new database would not have to migrate 
> data forward from the old system and now they are wanting to have the data 
> too.
> 
> Thanks,
> 
> Robert
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **
**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**

Re: Help->v11 to v17 Upgrade or New?

2018-10-17 Thread Dani Beaubien via 4D_Tech
This is a very hard question to give any advice on. There are a lot of factors 
that could affect the decision.

Things to consider:
- Complexity of the structure (# of tables, forms, methods, etc)
- Are there any old style 4D extensions used?
- Are there any plugins that are no longer supported?
- Is the existing code readable and easy to understand?

Have you tried converting it to v17 to see if it is even possible? It might 
convert and everything works and then again it might not.

If they want the data converted as well, then you are going to have to deal 
with the subtables and the existing structure.

Dani Beaubien
Open Road Development


> On Oct 17, 2018, at 1:45 PM, Robert ListMail via 4D_Tech 
> <4d_tech@lists.4d.com> wrote:
> 
> I have an old v11 database running on Windows that’s not particularly 
> well-designed and where there are more than a few subtables to deal with. 
> Assuming that there is no additional budget for writing a new clean app, 
> would you likely upgrade or re-write in v17 with the old v11 structure as 
> guide?  I’m concerned that the upgrade path will be difficult because of the 
> subtables and that by the time you deal with all of the legacy junk not this 
> database from the early 90s you could have created something fresh and new. 
> How might you approach this?
> 
> Also, the client originally said the new database would not have to migrate 
> data forward from the old system and now they are wanting to have the data 
> too.
> 
> Thanks,
> 
> Robert
> 
> **
> 4D Internet Users Group (4D iNUG)
> Archive:  http://lists.4d.com/archives.html
> Options: https://lists.4d.com/mailman/options/4d_tech
> Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
> **

**
4D Internet Users Group (4D iNUG)
Archive:  http://lists.4d.com/archives.html
Options: https://lists.4d.com/mailman/options/4d_tech
Unsub:  mailto:4d_tech-unsubscr...@lists.4d.com
**