2023-10-13 04:44 PM - edited 2023-10-13 05:33 PM
Hi everyone
Shortly after starting any project with our standard office template, a couple hundred new surfaces always appear in the Surfaces palette. If we delete them using the attribute manager, it's just a matter of (short) time before they reappear in the palette. Now I'm pretty sure these are embedded in a library object (or family of objects) located within our own office library (let me know if you think I'm wrong on that). Is there any way of pinpointing which objects in our library are linked with these surfaces so that we can remove them?
Incidentally the surfaces are all named Kling RAL. Does anyone know where this might originate from?
2024-02-05 07:22 PM
yes, I have seen it infect files, even when teams swear they never copy/paste. The best I can figure is it makes its way into local data and infects from there, or people just truly don't understand how infectious this issue is.
I've caught people claiming they didn't copy/paste, then see that there is text/details/etc... "but it's only 2d" or "I just needed that one detail".
I've insisted people self audit for this issue before/after any copy/paste (because lets face, they're going to do that), at the end of every week, before saving out .mod (since it get buried in modules and is impossible to remove at that point without purging all infected modules).
This really is something that GS needs to fix. There is no reason we should have to continually check files and go through the effort to remove the thousands of polluted surfaces on a daily basis like we currently do.
2024-05-09 07:42 PM
bump this thread too; just had a client report that the pollution has made it's way into their template, despite our best efforts to keep it clean. Gotta get this under control.
this is a nuisance, an embarrassment, a time suck, and a hinderance to proper file management and maintenance.
2024-05-09 07:49 PM
The same thing happens in our office all the time! Graphisoft needs to fix the underlying issues so this doesn't keep happening.
2024-05-09 10:15 PM
still just getting crickets on this... anyone from GS care to chime in? hoping it just goes away (like the rest of us)? Any plans to get this resolved in (or before) AC28?
2024-05-09 11:47 PM
why do we have to keep saying, ad nauseam, that this is NOT a "feature". It's a BUG.
2024-05-17
07:38 PM
- last edited on
2024-05-23
05:08 PM
by
Laszlo Nagy
Let me give this one another bump, with another story. I just opened a clients pln, then got a screen shot from them asking why I added these surfaces... and if I can't keep my surfaces out of their drop box files, that they'll just have to do the work themselves.
So this 'feature' is now losing me work...
I'll also add, I did not add anything to this project. Did not copy/paste anything in. Did not load any new objects to the library manger or even drag/drop anything into the file. Just opening the file riddled it with these master_gdl.gsm surfaces.
Thursday
Still no reply huh? Still having the problem.
Sigh...
Thursday
There are threads on this forum that relate to this problem including ones that have responses from Graphisoft about their plans to resolve this.
for example:
https://community.graphisoft.com/t5/Open-discussions/Extreme-Pain-Point-GDL-Virus/m-p/400058#M58
Friday - last edited Friday
If only you could write an API that ran when you open any file
// ----------------------------------------------------------------------------- // Project event handler function // ----------------------------------------------------------------------------- static GSErrCode __ACENV_CALL NotificationHandler (API_NotifyEventID notifID, Int32 param) { char msgStr[256]; switch (notifID) { case APINotify_Open: CHCopyC ("APINotify_Open", msgStr); break; } ACAPI_WriteReport (msgStr, false); return NoError; } // NotificationHandler
that would then find the offending "Master GDL KLING" files in the embedded library...(we had the "Master_GDL_Materials" creating the "JH ***" surfaces)
(The "ACAPI_LibPart_Get" function is used to get the data of the requested Library Part defined by the index field. The other fields of the structure are returned by ARCHICAD. You cannot use names here; first you have to find the library part with ACAPI_LibPart_Search function.)
GSErrCode ACAPI_LibPart_Search (
API_LibPart* ancestor,
bool createIfMissing,
bool onlyPlaceable = false
);
GSErrCode ACAPI_LibPart_Get (
API_LibPart* libPart
);
typedef struct {
API_LibTypeID typeID;
Int32 index;
GS::uchar_t docu_UName [API_UniLongNameLen];
GS::uchar_t file_UName [API_UniLongNameLen];
bool missingDef;
bool filler_1;
bool isTemplate;
bool isPlaceable;
GSType ownerID;
short version;
unsigned short platformSign;
Int32 filler_2[7];
IO::Location *location;
Int32 filler_3;
char ownUnID [128];
char parentUnID [128];
} API_LibPart;
and then deleted them from the embedded library,
GSErrCode ACAPI_Environment ( APIEnv_DeleteEmbeddedLibItemID, const IO::Location* location, bool keepGSMFile = false, bool silentMode = false );
then find all the attributes created by those "Master GDL KLING" files
GSErrCode ACAPI_Attribute_Search (
API_Attr_Head* attrHead
);
then delete them
GSErrCode ACAPI_Attribute_Delete (
const API_Attr_Head* attrHead
);
and then the problem would be solved....
But you need to learn to write an API and install it on all your users computers.
you could name the api "KANG attribute antivius"
Friday
Care to elaborate on this? Can I search for all MasterGDL related attributes that exist in my file ? Do I need to learn programming ? I will learn if it solves this pain.