!7 concept Page { S url; S mimeType; long loadedWhen; bool shouldLoad; File contentsFile() { ret javaxCachesDir("Loaded Web Pages/" + uniqueFileNameUsingMD5_80_v2(url)); } long contentSize() { ret l(contentsFile()); } } cmodule MultiWebpageLoader > DynCRUD { start { indexConceptField(Page, 'url); } afterVisualize { addButton("Add URL...", rThreadEnter { inputText("URL to load", voidfunc(S url) enter { addURLIfNotKnown(url); }); }); } // API void addURLIfNotKnown(S url) { cset(uniq_returnIfNew Page(+url), shouldLoad := true); } }