2024-10-14 12:52 PM
Hi! I just now started looking at what the AC28 new global libraries thing is. I'm not very deep in it yet but to me it seems it's maybe specifically addressing Graphisoft's localization woes. I think it seems good, but there's at least one thing I couldn't yet understand. There must be some technical reason why the presenting of legacy libraries with simple (unpacked) folders containing objects works different from the way it was in previous versions. (Or at last AC26, which is the latest I've used).
Suppose I have a folder named "MyLibrary" containing three subfolders "sub1" "sub2" "sub3" with gdl objects, and I load that folder into the project as a library. Now, previously, when in object settings window, the loaded libraries treelist would show the "MyLibrary" folder and under that the "sub1", "sub2" and "sub3" folders. What I'm experiencing now is that the "MyLibrary" folder is not there in the list, and the "sub1", "sub2" and "sub3" folders are listed directly under the loaded libraries.
I briefly looked at how LCF-format libraries behave and it seems they previously have worked so that the library is shown in the object settings dialog within it's container. So that in the list there's an "folder" (or container) entry with the LCF name, and under it, the library structure inside the lcf. This is also now different, and it seems it's the same as with the plain folders - there's no entry in the loaded libraries list for the LCF container name. Whatever folder structure is inside the lcf is listed in the loaded libraries instead.
The "problem" itself seems to be easily fixed, wrap everything inside an extra folder if needed, and this is what I'll do to our office library at least. But this is fixing in the user end, and makes libraries behave differently between versions.
I guess my question for now is: since the libpack format is "brand new" and the library loading systems obviously have been somewhat reworked, why is it that loading of these legacy libraries would not be handled so that the user experience would be the same as before? Maybe I've missed a memo encouraging to always wrap your external libraries in another folder and have been doing things the wrong way... 🙂
Operating system used: Windows 10 Pro
2024-10-14 01:19 PM
This was reported multiple times during Beta and Tech Preview and the only solution is to create a new/copy of "My Library" within "My Library".
Reasons were never given as to why.
Macbook Pro M1 Max 64GB ram, OS X 10.XX latest
another Moderator
2024-10-14 08:53 PM
Agreed. This is a frustration that needs addressing.
2024-10-15 06:57 AM - last edited on 2024-10-17 12:47 AM by Laszlo Nagy
Have you already taken a look into this article from Graphisoft?
2024-10-15 07:39 AM - edited 2024-10-15 07:42 AM
I think a 4th setting, "Legacy Library View" is what you are after(but it does not exist)
Using "Folder view(with sources)" does clean it up a little...adds the parent folder of your library to the list.
2024-10-15 08:13 AM
@AllanP wrote:
Using "Folder view(with sources)" does clean it up a little...adds the parent folder of your library to the list.
But it also splits up every single Library Pack that you have installed into separate folders.
Barry.
2024-10-16 11:59 AM - edited 2024-10-16 12:26 PM
Thank you for that article!
I had not read that. I think it confirms my initial general view that this libpack format was done mainly to make library development more streamlined in Graphisoft's end. This then of course serves the user as well.
Whatever the reason is that this problem exists, (some) third-party libraries need to be at least quick-fixed in order to behave similarly in AC28. Even if the quick-fix is to tell users to use the folder view. The fact that this is there in the final product* I think means this 'problem' could be here to stay at least for the default view. If just to maintain consistency.
(*although, if I'm not wrong, Graphisoft has lately introduced some sort of continuous feature updates, so who knows, maybe it'll be addressed in one of those)
A question that arose reading the article was - What exactly is the term "Monolith library": Is this a term that encompasses also the kind of third party libraries in my first example (the "MyLibrary" -folder or LCF), or just the old format Graphisoft offered library?
I'm asking this because in the Migration Guidelines -subtopic point 2. it's said that "... Mixing objects from the Monolithic and Global Libraries in the same project is not recommended. ... " I assume this means that there should be no version of the same object (or library?) in both libpack and monolithic format? This would be understandable. Surely it wouldn't mean it's not encouraged to use any other formats than libpack in the project at all?
Since the problem I noted seems on the surface to be super simple and trivial (present libpack libraries and the monolith libraries differently in the treelist), and yet it has not been addressed in any way even though it has been (even several times) reported in the testing phase, I can't come up with but a couple of answers to my initial question - why is this not addressed.
1. It was simply deemed not important enough by Graphisoft. Maybe there were more urgent things and fixes to do.
2. Technical reasons below the apparent simplicity that tie into some maybe legacy code that would've also needed to be addressed => see point 1.
3. Graphisoft wishes third party library developers to migrate into libpack -format to cut down dealing with legacy issues and this feature is purposefully just left in as a sort of small annoyance to deal with.
Or a combination. If any reasons are involved, Graphisoft, blink twice? ;D At the very least I'd think it would be fair to give official guidelines on third-party developers on how to deal with this. Hmm, maybe there are some official guidelines somewhere and I've just not seen them yet. I'd need to check.
I'm still holding hope that there'll be the "Legacy view" AllanP mentioned. And frankly, I think that should be the default view, at least for a version that is the 'phase-in' version. (*Edit: well, actually. If Graphisoft blinks twice for reason 3. specifically, I think it'd better be just an option 🙂 )
2024-10-17 03:26 AM - edited 2024-10-17 07:59 AM
@Samppa Hannikainen wrote:
A question that arose reading the article was - What exactly is the term "Monolith library": Is this a term that encompasses also the kind of third party libraries in my first example (the "MyLibrary" -folder or LCF), or just the old format Graphisoft offered library?
I'm asking this because in the Migration Guidelines -subtopic point 2. it's said that "... Mixing objects from the Monolithic and Global Libraries in the same project is not recommended. ... " I assume this means that there should be no version of the same object (or library?) in both libpack and monolithic format? This would be understandable. Surely it wouldn't mean it's not encouraged to use any other formats than libpack in the project at all?
The 'Monolith' library refers to the older version Graphisoft library where all objects are contained in the one LCF.
The reason you do not want to use monolith and new library packs at the same time, is because they contain the same objects.
And, as there is no migration from older libraries to 28, you will have 2 places where you can choose the same object (old & new library).
If you load the 27 library that comes with the 28 installation, it will load the old 27 objects, but you will not be able to place them as new objects.
This is deliberately done this way.
They will be invisible to you as they have been saved as 'Obsolete' objects.
You will still be able to see the settings for those 27 objects already placed in your plan though, and you can continue to use them (they will never be updated any more).
But you will not be able to place them as new objects (unless you use the setting picker (pipette)).
EDIT: It seems this is not true.
The 27 library included with 28 is a fully functioning library and none of the objects are hidden or obsolete.
Barry.
If you load the 27 library from the 27 program installation folder, then you will see both the 27 and 28 versions of the objects.
This will get very confusing and is definitely not recommended.
You will always know if you have an old object because it will have the version number in the object's name.
New object won't have this version number.
Using 3rd party LCF libraries with the libpacks is not a problem.
Barry.
2024-10-17 07:55 AM - edited 2024-10-17 08:10 AM
@Barry Kelly wrote:
If you load the 27 library that comes with the 28 installation, it will load the old 27 objects, but you will not be able to place them as new objects.
This is deliberately done this way.
They will be invisible to you as they have been saved as 'Obsolete' objects.
You will still be able to see the settings for those 27 objects already placed in your plan though, and you can continue to use them (they will never be updated any more).
But you will not be able to place them as new objects (unless you use the setting picker (pipette)).
Sorry, I have given some miss-information here.
I am still setting up 28 myself and was just playing with the libraries.
It seems the 27 library that is found in the 28 installation files, is not an 'Obsolete' library.
It is the full 27 library and all of these objects will be available along with the new 28 objects.
They will not be hidden and only show when selected.
They will be available all of the time.
I think we could do with an 'Obsolete' 27 library.
That way we can still use it with already placed objects, but it will force new objects to be version 28.
I will make a wish for this.
https://community.graphisoft.com/t5/Wishlist/27-Obsolete-library-for-28/idi-p/636043#M1570
Barry.