metamodels / core Goto Github PK
View Code? Open in Web Editor NEWMetaModels Core Module
License: GNU Lesser General Public License v3.0
MetaModels Core Module
License: GNU Lesser General Public License v3.0
eval Option "mandatory" will not be set.
Otherwise, this attribute is shown as "[text]" in the filter settings.
Depends on multilanguage text field.
add it here, buite this is for ALL fields
It would be nice, if the first Filter (and first option etc.) has a class like 'first' and the last one 'last' like the Navigation in Contao.
And of course it would be handy if we had even and odd there (filter_even / filter_odd and option_even / option_odd)
regards
Fatal error: Uncaught exception Exception with message Query error: Unknown column 'mandatory' in 'field list' (UPDATE tl_metamodel_dcasetting SET pid='1', sorting='16384', tstamp=1352098665, dcatype='attribute', legendtitle='', legendhide='', attr_id='1', tl_class='w50 clr', filterable='', sortable='', searchable='', flag='', mandatory='1' WHERE id='1') thrown in /home/httpd/docs/rostoff-neu/system/libraries/Database.php on line 686
#0 /home/httpd/docs/rostoff-neu/system/libraries/Database.php(633): Database_Statement->query()
#1 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralDataDefault.php(551): Database_Statement->execute('1')
#2 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(1361): GeneralDataDefault->save(Object(GeneralModelDefault))
#3 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(1108): GeneralControllerDefault->doSave(Object(DC_General))
#4 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(2232): GeneralControllerDefault->edit()
#5 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(135): DC_General->edit()
#6 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(154): MetaModelBackendModule->runDC()
#7 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(168): MetaModelBackendModule->performNormal()
#8 /home/httpd/docs/rostoff-neu/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#9 /home/httpd/docs/rostoff-neu/contao/main.php(120): Backend->getBackendModule('metamodels')
#10 /home/httpd/docs/rostoff-neu/contao/main.php(230): Main->run()
#11 {main}
Actual nightly from now.metamodel.me : core 4f325af 2013-02-04 20:43:41 +0100
Building MM from scratch, on Filter is already setup.
While reediting a preconfigured Fiter this exception is thrown :
Fatal error: Could not load class MetaModelFrontendFilterBackend in INSTALL_PATH/system/functions.php on line 106
#0 [internal function]: __error(256, 'Could not load ...', '/home/www-ccs/p...', 106, Array)
#1 INSTALL_PATH/system/functions.php(106): trigger_error('Could not load ...', 256)
#2 [internal function]: __autoload('MetaModelFronte...')
#3 [internal function]: spl_autoload_call('MetaModelFronte...')
#4 INSTALL_PATH/system/libraries/System.php(176): get_class_methods('MetaModelFronte...')
#5 INSTALL_PATH/system/modules/metamodels/TableMetaModelFilterSetting.php(434): System->import('MetaModelFronte...', 'objCallback')
#6 INSTALL_PATH/system/drivers/DC_Table.php(3250): TableMetaModelFilterSetting->drawSetting(Array, 'Textfilter', Object(DC_Table), 'style="margin-l...', false, false)
#7 INSTALL_PATH/system/drivers/DC_Table.php(2963): DC_Table->generateTree('tl_metamodel_fi...', '10', Array, true, -20, false, false)
#8 INSTALL_PATH/system/drivers/DC_Table.php(333): DC_Table->treeView()
#9 INSTALL_PATH/system/modules/metamodels/MetaModelBackendModule.php(156): DC_Table->showAll()
#10 INSTALL_PATH/system/modules/metamodels/MetaModelBackendModule.php(176): MetaModelBackendModule->runDC()
#11 INSTALL_PATH/system/modules/metamodels/MetaModelBackendModule.php(190): MetaModelBackendModule->performNormal()
#12 INSTALL_PATH/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#13 INSTALL_PATH/contao/main.php(120): Backend->getBackendModule('metamodels')
#14 INSTALL_PATH/contao/main.php(230): Main->run()
#15 {main}
The Link to this exception is : main.php?do=metamodels&table=tl_metamodel_filter&id=4
... und nicht bei dem Checkbox Attribut
Wenn das FE Editing kommt, ist die Frage wie das Rechte System für FE User realisiert werden soll.
--- Originally created by stefanheimes
Sinnvoll waere es, die Relationen (Parent/Child) in der Uebersicht der MMs sehen zu koennen. Sonst verliert man extrem schnell die Uebersicht.
--- Originally created by lindesbs
There are some representational issues on creating a new metamodel, caused by inproper CSS settings (see attached screenshot, showing Firefox 18.0 on Win7/64)
I think we should apply the .w50 class here, for instance
hidelabel mcwUpdateFields w50
giving some more space to the fallback language MCW.
Das Eingabefeld [Sortierung] wird nicht immer angezeigt, jedoch ist nicht klar, unter welchen Randbedingungen es erscheint oder verschwindet. Man würde erwarten, dass es nur angezeigt wird, wenn bei [Sortiermodus] ein sortierender Modus gewählt wurde.
Beispielsweise kann mit dem Hilfsdialog, der über das kleine Symbol rechts neben dem Eingabefeld [Panel-Layout] aufgerufen werden kann, der Inhalt
search sort filter limit
erzeugt werden. Sobald man ein Komma einfügt, dann erscheint das Feld [Sortierung]. Es verschwindet aber nicht wieder, wenn man das Komma wieder entfernt.
In der prepareView Methode der MetaModelList Klasse findet man diese Codezeile:
$this->objView->set('filter', $intFilterSettings);
$intFilterSettings scheint nicht zu existieren. Vermutlich sollte das eigentlich $this->intFilter sein?
Somit hat man die Möglichkeit direkt im Template festzulegen wie ein Attribut gerendert werden soll, da wo das egtl. Aussehen eines Datensatzes definiert wird (werden sollte).
Ein Beispiel für eine Bild wäre zum Beispiel im Reader:
echo $this->myimage(200, 300);
myimage ist in Wahrheit ein Objekt mit __invoke magic. Es könnten auch andere Bildspezifische Methoden aufgerufen werden.
Um bei großen Listings ein "vollspammen" mit Objekten zu vermeiden könnte man das "RenderObject" dynamisch halten, sodass alle Items den gleiche Instanz des "AttributeRenderers" benutzen.
Es wäre hilfreich zumindest einen Textwizard zu haben. Es muss ja nicht gleich ein MCW sein, aber wenigstens dynamisch Elemente zu pflegen ohne in der Attributsliste in einer Orgie zu ertrinken.
If a add Javascript to a prenrendered template it is executed in backend too.
This leads to odd behaviour for e.g. a slider template.
On creating a new metamodel you can skip the translations settings. After that and on trying to create attributes, I'm getting a blank page, leaving something like
[[31-Jan-2013 13:50:14 UTC] PHP Fatal error: Declaration of MetaModelAttributeGeoProtection::getFilterOptions() must be compatible with that of IMetaModelAttribute::getFilterOptions() in /is/htdocs/wp11097041_TUWBIMV6WA/www/htdocs/cms/2_11/system/modules/metamodelsattribute_geoprotection/MetaModelAttributeGeoProtection.php on line 29]
in my server log. So I wondered if we should make a default language mandatory,
Adding FE Filter as CE Module generates following exception :
Fatal error: Uncaught exception Exception with message Error: Filtersetting 0 not attached to a MetaModel thrown in /home/www-ccs/public_html/dms/system/modules/metamodels/MetaModelFilterSettings.php on line 82
#0 /home/www-ccs/public_html/dms/system/modules/metamodels/MetaModelFilterSettings.php(185): MetaModelFilterSettings->getMetaModel()
#1 /home/www-ccs/public_html/dms/system/modules/metamodels/MetaModelFrontendFilter.php(92): MetaModelFilterSettings->getParameterFilterWidgets(Array, Array, '1')
#2 /home/www-ccs/public_html/dms/system/modules/metamodels/MetaModelFrontendFilter.php(75): MetaModelFrontendFilter->getFilters()
#3 /home/www-ccs/public_html/dms/system/modules/metamodels/ModuleMetaModelFrontendFilter.php(64): MetaModelFrontendFilter->getMetaModelFrontendFilter(Object(ModuleMetaModelFrontendFilter))
#4 /home/www-ccs/public_html/dms/system/modules/frontend/Module.php(140): ModuleMetaModelFrontendFilter->compile()
#5 /home/www-ccs/public_html/dms/system/modules/metamodels/ModuleMetaModelFrontendFilter.php(53): Module->generate()
#6 /home/www-ccs/public_html/dms/system/modules/frontend/ContentModule.php(72): ModuleMetaModelFrontendFilter->generate()
#7 /home/www-ccs/public_html/dms/system/libraries/Controller.php(511): ContentModule->generate()
#8 /home/www-ccs/public_html/dms/system/modules/frontend/ModuleArticle.php(194): Controller->getContentElement('7')
#9 /home/www-ccs/public_html/dms/system/modules/frontend/Module.php(140): ModuleArticle->compile()
#10 /home/www-ccs/public_html/dms/system/modules/frontend/ModuleArticle.php(71): Module->generate()
#11 /home/www-ccs/public_html/dms/system/libraries/Controller.php(443): ModuleArticle->generate(false)
#12 /home/www-ccs/public_html/dms/system/libraries/Controller.php(307): Controller->getArticle('3', false, false, 'main')
#13 /home/www-ccs/public_html/dms/system/modules/frontend/PageRegular.php(100): Controller->getFrontendModule('0', 'main')
#14 /home/www-ccs/public_html/dms/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
#15 /home/www-ccs/public_html/dms/index.php(401): Index->run()
#16 {main}
Filter Type "Einfache Auswahl"
Hinweis: es sind keine filtersettings für dieses MM angelegt wurden
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 (DELETE FROM tl_metamodel_filtersetting WHERE pid IN ()) thrown in /home/httpd/docs/rostoff-neu/system/libraries/Database.php on line 686
#0 /home/httpd/docs/rostoff-neu/system/libraries/Database.php(660): Database_Statement->query()
#1 /home/httpd/docs/rostoff-neu/system/modules/metamodels/TableMetaModel.php(126): Database_Statement->executeUncached()
#2 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralCallbackDefault.php(427): TableMetaModel->onDeleteCallback(Object(DC_General))
#3 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(1005): GeneralCallbackDefault->ondeleteCallback()
#4 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(2203): GeneralControllerDefault->delete()
#5 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(135): DC_General->delete()
#6 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(154): MetaModelBackendModule->runDC()
#7 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(168): MetaModelBackendModule->performNormal()
#8 /home/httpd/docs/rostoff-neu/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#9 /home/httpd/docs/rostoff-neu/contao/main.php(120): Backend->getBackendModule('metamodels')
#10 /home/httpd/docs/rostoff-neu/contao/main.php(230): Main->run()
#11 {main}
Da sollte zumindest keine PHP Fehlermeldung erscheinen, sondern eher ein Eintrag ins log oder ein silent redirect
Recoverable error: Argument 1 passed to DC_General::setCurrentModel() must be an instance of InterfaceGeneralModel, null given, called in /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php on line 1004 and defined in /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php on line 1294
#0 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(1294): __error(4096, 'Argument 1 pass...', '/home/httpd/doc...', 1294, Array)
#1 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(1004): DC_General->setCurrentModel(NULL)
#2 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(2203): GeneralControllerDefault->delete()
#3 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(135): DC_General->delete()
#4 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(154): MetaModelBackendModule->runDC()
#5 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(168): MetaModelBackendModule->performNormal()
#6 /home/httpd/docs/rostoff-neu/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#7 /home/httpd/docs/rostoff-neu/contao/main.php(120): Backend->getBackendModule('metamodels')
#8 /home/httpd/docs/rostoff-neu/contao/main.php(230): Main->run()
#9 {main}
Wenn in in den Attributeinstellungen versucht wird einem Text-Attribut ein eigenes Template zuzuweisen, welches vorher im Template-Ordner des Projektes angepasst und umbenannt wurde (einfach individuellen Namen hinten drangehängt), kann es zwar bei den MetaModels ausgewählt werden, im FE wird aber folgender Fehler ausgespuckt:
Fatal error: Uncaught exception Exception with message Could not find template file "mm_attr_text_qualitaetslexikon_liste_ueberschrift.text" thrown in …/system/modules/metamodels/MetaModelTemplate.php on line 254
Antwort von Xtra: "Da muss ich einen default fallback auf das default template einbauen."
If I rename "metamodel_prerendered.html5" and it's saved in a subdirectory of /templates, I can't select it in the render settings.
Gegebenenfalls ein generelles Parent-Listing Problem.
Ich bemerke grade, das die Reihenfolge der Attribute keine sonstigen Auswirkungen hat die mir aufgefallen wären, es wär trotzdem nett eine saubere Sortierfunktion zu haben, da man vll nachträglich Attribute einfügt.
Gleiches gilt auch beim bewegen eines existierenden Attributs.
Dies ist evtl. ein DC_General related bug
Ein verschieben ans Ende der Palette ist nicht möglich. Die "Einfügen nach" Button beim letzten Element ist zwar da, aber es passiert nichts. (auch keine Fehlermeldung)
Die Bedienung der MetaModels ist tiefer verschachtelt als sonst bei Contao üblich. Da stößt die Navigation mit den Icons am rechten Rand und dem 'zurück'-Link an ihre Grenzen.
'zurück' führt nicht irgendwann auf die Hauptseite zurück, sondern schaltet nur noch zwischen den beiden zuletzt besuchten Ansichten um. Die Seiten der MetaModels sind häufig schwer zu unterscheiden - alle sind einfach mit 'MetaModels' überschrieben, nur über minimal unterschiedliche Icons oder die Tooltips kann man erkennen, wo man sich (ungefähr) befindet. Für Neueinsteiger ein wahres Labyrinth.
Ich würde innerhalb der MetaModels BreadCrumbs vorschlagen, da sie die Positionsbestimmung und Navigation ermöglichen.
Es wäre gut ein paar grundlegende Punkte bezüglich der technischen funktionsweise schriftlich festzuhalten. ("Wie es sein sollte.")
Einige Fragen die es zu klären gilt:
Das sind nur so ein paar Dinge, die hilfreich wären, damit man weis in welche Richtung man entwickeln kann und welche Wege sich mit dem "BigPicture" beißen.
I think this could be better here (because it is at more fields...):
MetaModels/filter_tags#2
Der Link für Copy muss anderes aufgebaut werden, wenn Mode 5/6
contao/main.php?do= [Table] &act=paste&mode= copy&id= [ID]
--- Originally created by stefanheimes
Warning: Unexpected character in input: '' (ASCII=92) state=1 in /system/modules/metamodels/MetaModelTemplate.php on line 179
Warning: Unexpected character in input: '' (ASCII=92) state=1 in /system/modules/metamodels/MetaModelTemplate.php on line 183
Fatal error: Call to protected method Controller::getPageDetails() from context 'MetaModelItem' in /system/modules/metamodels/MetaModelItem.php on line 239
Where's the Error / How can i help to determine the problem.
I got metaodels and all attributes an hour ago.
Legt man ein Attribute an und fuegt dieses dann einem "Rendering-Setup" (View?) hinzu und loescht dann anschliessend das Attribute, so wird es nach wie vor im Rendering-Setup aufgelistet mit dem Titel "Array".
Es gibt bisher kein Attributsfeld "Datum". Für Datumsberechnungen oder -darstellungen in einem MetaModel wäre das aber eine schöne Sache.
Siehe auch: https://community.contao.org/de/showthread.php?37493-MetaModels-wie-Datum-erfassen&p=243029
ResetFallback
Vorgaben:
Tabele X hat ein Feld isDefault. Diese ist markiert als Fallback.
Funktionsweise:
Nun werden alle Felder isDefault in der DB zurückgesetzt, anschließend wird isDefault für Datensatz B aktiviert.
Siehe im Seitenbaum für languageFallback.
--- Originally created by stefanheimes
Wie telefonisch besprochen. Einträge für die Übersetzung werden nicht via default auf null übernommen sondern aus bestehenden MetaModels.
The clearing of the url doesn't work right... there is always the first paramter i choosed from the filters, when i try to get back.
Here is an thread with a sample output:
https://community.contao.org/de/showthread.php?38113-Keine-Filter-Parameter-ausw%E4hlbar&p=247970&viewfull=1#post247970
regards
Felder und andere Konfigurations-Artefakte die im gleichnamigen DCA-File definiert wurden und mit dem MM zusammengemergt werden, sollten genau wie vom MM definierte Artefakte (sofern sinnvoll), in den Verschiedenen Konfigurationen des MM verwendet werden können.
Zum Beispiel ein DCA-definiertes Feld, sollte in den Render-Settings verwaltet werden können und könnte in der Attributsliste als nicht editierbares Feld auftachen.
The function is defined in IMetaModelsAttribute as getFilterOptions($arrIds, $usedOnly). If no parameters are given, PHP throws a warning, so we should define a default value:
getFilterOptions($arrIds = array(), $usedOnly = false)
When editing a filter setting there is a button 'save and new'.
Pressing this button leads to a new filter settings dialog.
Save the new setting - it does not appear in the list of filter settings.
Warning: Invalid argument supplied for foreach() in /home/httpd/docs/rostoff-neu/system/modules/metamodelsattribute_tags/MetaModelAttributeTags.php on line 113
#0 /home/httpd/docs/rostoff-neu/system/modules/metamodelsattribute_tags/MetaModelAttributeTags.php(113): __error(2, 'Invalid argumen...', '/home/httpd/doc...', 113, Array)
#1 /home/httpd/docs/rostoff-neu/system/modules/metamodels/GeneralModelMetaModel.php(193): MetaModelAttributeTags->widgetToValue('', NULL)
#2 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(1313): GeneralModelMetaModel->setProperty('related', '')
#3 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(916): DC_General->updateModelFromPOST()
#4 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(2180): GeneralControllerDefault->create()
#5 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(132): DC_General->create()
#6 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(151): MetaModelBackendModule->runDC()
#7 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(165): MetaModelBackendModule->performNormal()
#8 /home/httpd/docs/rostoff-neu/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#9 /home/httpd/docs/rostoff-neu/contao/main.php(120): Backend->getBackendModule('metamodel_mm_rs...')
#10 /home/httpd/docs/rostoff-neu/contao/main.php(230): Main->run()
#11 {main}
Fatal error: Uncaught exception Exception with message Query error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1 (SELECT mm_rs_portfolio.* FROM mm_rs_portfolio WHERE id IN ()) thrown in /home/httpd/docs/rostoff-neu/system/libraries/Database.php on line 686
#0 /home/httpd/docs/rostoff-neu/system/libraries/Database.php(633): Database_Statement->query()
#1 /home/httpd/docs/rostoff-neu/system/modules/metamodelsattribute_tags/MetaModelAttributeTags.php(123): Database_Statement->execute()
#2 /home/httpd/docs/rostoff-neu/system/modules/metamodels/GeneralModelMetaModel.php(193): MetaModelAttributeTags->widgetToValue('', NULL)
#3 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(1313): GeneralModelMetaModel->setProperty('related', '')
#4 /home/httpd/docs/rostoff-neu/system/modules/generalDriver/GeneralControllerDefault.php(916): DC_General->updateModelFromPOST()
#5 /home/httpd/docs/rostoff-neu/system/drivers/DC_General.php(2180): GeneralControllerDefault->create()
#6 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(132): DC_General->create()
#7 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(151): MetaModelBackendModule->runDC()
#8 /home/httpd/docs/rostoff-neu/system/modules/metamodels/MetaModelBackendModule.php(165): MetaModelBackendModule->performNormal()
#9 /home/httpd/docs/rostoff-neu/system/modules/backend/Backend.php(239): MetaModelBackendModule->generate()
#10 /home/httpd/docs/rostoff-neu/contao/main.php(120): Backend->getBackendModule('metamodel_mm_rs...')
#11 /home/httpd/docs/rostoff-neu/contao/main.php(230): Main->run()
#12 {main}
Now the clearing is direkt for one Filter. Thats nice. But i miss an clear all for all Filters.
Let the User pick what he would like to have.
Should the Filter be AND or OR.
regards
Gegebenenfalls ein generelles Parent-Listing Problem.
Ich bemerke grade, das die Reihenfolge der Attribute keine sonstigen Auswirkungen hat die mir aufgefallen wären, es wär trotzdem nett eine saubere Sortierfunktion zu haben, da man vll nachträglich Attribute einfügt.
Momentan muss man in den Render-Settings für jeden Eintrag (Attribut) das Auge einzeln bestätigen.
Schön wäre es wenn man das in der Meta Navigation mit einem klick für alle erledigen kann. (Ähnlich wie alle markieren)
When i Filter something in the frontend the list still has all Items in it.
(tested @ Mehrfachauswahl/Einfachauswahl)
regards
Wir brauchen wirklich mal den MCW für die MetaModels
Bei Varianten wird beim cut/copy der paste into button noch nicht deaktiviert.
--- Originally created by Discordier
Ich würde gerne für die Paletteneinstellungen eine neue Darstellung wählen.
So hätten wir drei Bereiche:
So würde es aussehen.
DCA Settings - Option "Trailing slash handling" - Wert "Do nothing"
Obwohl "Do nothing" ausgewählt ist, setzt das System einen "/" am ende.
<div class="widget <?php echo $filter['class']; ?>">
<?php echo $filter['label']; ?>
<?php echo $filter['field']; ?>
</div>
should be
<div class="widget <?php echo $filter['class']; ?>">
<?php echo $filter['label']; ?>
<?php echo $filter['value']; ?>
</div>
as in mm_filter_default.html5
Die ID des Datensatzes sollte nur angehängt werden, wenn der (nicht-gesuffixte) Alias bereits existiert.
Außerdem muss festgelegt werden was passiert wenn der gesuffixte Alias bereits existiert:
Datensatz 1: Direkt angegebener Alias "record-2"
Datensatz 2: Generierter Alias "record-2" collides
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.