1

API Hilfe Anhänge Bilder/PDF's innerhalb Ninox Arbeitsbereichen verschieben

Hallo zusammen ich versuch es jetzt nochmal mit einem anderen Titel 🙂

Meine Daten werden für den Arbeitsbereich auf den IPADS zu groß Die Monteure können nicht mehr arbeiten. Nun würde ich die Bilder und PDF's auslagern bei abgeschlossenen Aufträgen in einen Bereich auf denen die Monteure kein Zugriff haben um damit im Arbeitsbereich die Datenmenge zu reduzieren

Meine Idee wäre, im gesamt Arbeitsbereich einen Bereich Anhänge (11_Anhänge) zu schaffen der mir die Anhänge (Bilder PDF's usw.) aus dem normalen Arbeitsbereich 01_VTDM übernimmt. Aus dem Arbeitsbereich 01_VTDM sollten nun bei den abgeschlossenen Aufträgen die Anhänge per API in den anderen Ausgliederungsbereich 11_Anhänge ausgelagert werden.

Zurückgeschrieben werden könnte dann z.B. der sharelink aus dem Ausgliederungsbereich 11_Anhänge

7 Antworten

null
    • Developer by Smartplanung
    • smartplanung
    • vor 3 Monaten
    • Gemeldet - anzeigen

     Hallo Andreas,

    ich weiß nicht genau, was Du hier jetzt brauchst. Aber ich tippe mal auf eine Anregung der Umsetzung?

    Für mich wäre es am einfachsten, n8n oder make zwischen zu schalten. Dort wird alle x Stunden ein Workflow ausgeführt, welcher die Daten abgrast und entsprechend verschiebt.

    Alternativ kann man das genauso über n8n oder make machen, indem man einen Trigger in Ninox nimmt. Beispielsweise nach Abschluss eines Auftrags.

    Ganz ohne n8n / make müsste ich selbst testen, da würde ggf. was mit Base64 über die interne API gehen. Dann geht es aber wirklich nur über einen Trigger, der beim Nutzen der Datenbank ausgelöst wird.

    Zudem sollte man überlegen, ob man die Daten wirklich in Ninox lässt oder auf eine Cloud verschiebt. Der Speicher ist ja nach wie vor ein großes Problem bei Ninox. Dann ist man aber wieder bei n8n/make.

    Bei einer Entscheidung zwischen n8n oder make, bin ich klar bei n8n. Ist vielleicht etwas aufwändiger, jedoch bis auf den Server selbst, kostenlos im großen Stil.

    • Fox Concepts
    • Christoph.2
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Hallo, wenn du die Daten schon auslagerst, würde ich überlegen, ob ein anderer Cloudspeicher mehr Sinn macht um auch Speicherplatz zu sparen. Bei anderen Cloud Plattformen bekommst du für das wo du bei Ninox 5 GB bekommst etwa 5 TB.

    Du kannst das genauso über API, oder Integrationsplattformen machen und dir beim Upload einen Sharelink oder Thumbnaillink zurückgeben lassen.

    Wenn deine Monteure die Daten aber offline nicht zwingend brauchen, dann wäre die einfachste Lösung wohl, in den Setting das Laden der Dateien auf 'bei Bedarf' zu stellen.

    Möglicherweise liegt dein Performanceproblem auch wo anders. Etwa wenn die Bilder in einer Tabellenansicht angezeigt werden...

    • Andreas_Kappes
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Hallo zusammen,

    aktuell habe ich genügend Speicher Reserve bei Ninox nur nicht auf dem Arbeitsspeicher der Tabletts ich benötige aber eine schnelle Lösung Ninox intern. Zusatz Programme wie n8n make usw. oder andere Cloudspeicher durchläuft bei uns ein langes Genehmigungsverfahren dazu fehlt mir akut aber die Zeit. Den Monteuren brennt es unter den "Sohlen"

      • Developer by Smartplanung
      • smartplanung
      • vor 3 Monaten
      • Gemeldet - anzeigen

       dann bleibt dir nur der Vorschlag mit Base64 zu arbeiten. Siehe folgenden Beitrag von Uwe:

      https://forum.ninox.de/t/h7h0j1j/bilder-innerhalb-ninox-kopieren

      Ich habe das bisher nicht genutzt. Aber ich vermute, dass er sich da nur auf eine Datenbank bezieht. Man müsste das also etwas anpassen, um es in eine zweite Datenbank in einem anderen Team zu schieben.

      Aber wenn Du sagst, dass der Arbeitsspeicher beim Tablet in die Knie geht, dann bin ich da bei Christoph. Wenn Du Ansichten hast, wo viele Berechnungen stattfinden, kann das eher die Ursache sein. Die Dateien sollten eigentlich auf dem lokalen Speicher landen und nicht im Arbeitsspeicher.

      Dafür müsste man aber wissen, was genau nicht funktioniert und wann das Problem auftritt.

      • Andreas_Kappes
      • vor 3 Monaten
      • Gemeldet - anzeigen

       

      Beim Arbeitsspeicher hab ich mich etwas falsch ausgedrückt.

      Die gesamt Speicher Kapazität der iPads ist am Limit diese haben 64 GB Ninox belegt davon schon 38GB es ist nicht mehr möglich Fotos zu machen weder Software Updates noch sonstiges usw.

      wir haben jetzt schon andere Programme gelöscht um für ein paar Tage "Luft" zu haben.

    • Andreas_Kappes
    • vor 3 Monaten
    • Gemeldet - anzeigen

    Ich versuche mich mal mit dem Ansatz von Uwe auch wenn er hier innerhalb einer Datenbank Bilder verschiebt ich muss ja in eine anderen Arbeitsbereich(Team) und dort erst einen neuen Datensatz erstellen

      • Developer by Smartplanung
      • smartplanung
      • vor 3 Monaten
      • Gemeldet - anzeigen

       

      das Erstellen von Records sollte das kleinste Problem sein. Hier ein Beispiel, wie ich Urlaubsanträge zwischen zwei Apps hin- und her schicke. In dem Beispiel wird ein Urlaubsantrag in App A erstellt und in App B zur Freigabe ein Record erstellt.

      let settings := record(Einstellungen,1);
      let myKey := settings.'Ninox API Key';
      let dbTeam := settings.'Team ID Personal Datenbank';
      let dbDatenbank := settings.'Datenbank ID Personal';
      let myURL := "https://api.ninoxdb.de/v1/teams/" + dbTeam + "/databases/" + dbDatenbank +
          "/tables/F/records";
      let employee := first((select Mitarbeiter where 'Ninox-Nutzer' = user()).ID);
      let myTyp := Typ;
      let myVon := Von;
      let myBis := Bis;
      let myGrund := 'Begründung';
      let myVertretung := text(Vertretung);
      let myID := number(this);
      let body := [{
                  fields: {
                      'Status:': "2",
                      Abwesenheitsart: myTyp,
                      Von: myVon,
                      Bis: myBis,
                      Beschreibung: myGrund,
                      Vertretung: myVertretung,
                      AntragID: myID,
                      Mitarbeiter: employee
                  }
              }];
      let auth := {
              Authorization: "Bearer " + myKey,
              'Content-Type': "application/json"
          };
      let response := do as server
              http("POST", myURL, auth, body)
          end;
      Response := formatJSON(response);
      for i in parseJSON(text(response.result)) do
          AntragID := number(i.id)
      end;
      Status := 2
      

      Das sind jetzt nur reine Daten. Aber mit Base64 sollte das ähnlich sein. Du musst nur die TeamId entsprechend anpassen.