Webseite erstellen

Windows Server als Basis fuer eine Service EXE die einfach nur Port 1234 benutzt und https
ist doch wohl nicht schwierig, die EXE wird einfach als Dienst registriert und beim auswechseln muss man den Dienst vorher abschalten.
Sagen wir mal so am besten harmoniert WIndows Entwickler und WIndows Server
oder Linux Entwickler auf Linux Server.
Von WIndows zu WIndows Server kommt man sehr leicht per Remote Desktop auf die zu pflegende Maschine.

Ob mein Programm den Port in der URL hat ist mir sowas von egal.
Konfigurationstechnisch schwierig wird es erst wenn man alle Programme ueber Port 443 erreichen will,
weil dahinter dann ein echter Web-Server steckt der die Pakete an die Programme verteilen muss.

Ich habe Linux und Windows als VPS getestet aber fuer meine Zwecke war ein alter Mini PC mit Windows zu Hause noch viel praktischer und guenstiger, diese VPS war mir nicht 50EUR im Monat Wert.

Hallo Markus,
es scheint als ob du ein Profi bist. :slight_smile: Ich fange ja gerade erst an. Mein Ziel ist folgendes. Ich habe ein Windows Server. Dort habe ich meine Webseite per HTML installiert.
Die erreiche ich über das Web. Wie andere auch. Auf meiner Webseite möchte ich nun immer neue Artikel hochladen. Nun möchte ich ein Xojo Web bauen wo diese Artikel drin stehen. Wie in einer Minidatenbank. Ich lade praktisch dann die Artikel nach Datum in diese Xojo WebApp.
Wie geht so etwas? Wo fange ich an. Ich habe ein Tool zur Webgestaltung das heißt EverWeb. Das soll auch auf Xojo programmiert worden sein. Das so meine Gedanken.

@Andy_Nightingale

Maybe this Xojo webinar video will help

Developing Web Apps with Xojo

Brauchst Du dafür XojoWeb? Das geht auch mit der Desktop-Version, einer Datenbank und einer UrlConnection.

Du meinst Bilder und Texte?
Bilder kann man mit dem FileUploader in der Xojo WebPage hoch laden.
Ob Du die dann als Datei wieder wo ablegst oder in der Datenbank als Blob/Binär Feld ist Dir ueberlassen.

Wo fange ich an.

Du ueberlegst Dir ein Konzept, was gut umsetzbar ist, schreibst Dir die Punkte auf
und nutzt z.B. ein Kanban Board als Hilfe.
Dann arbeitest Du die Aufgaben ab in der Reihenfolge wie die Sinn ergeben.
Im Xojo Projekt kann man auch Notizen erstellen oder Warnungen.
z.B.
#Pragma Warning “Meine Baustelle”
Menu Project/Analyze Project listet die Stellen auf und man kann dort schnell hin springen,
wie bei Add Bookmark & Bookmarks / Show All in der IDE auch.

https://documentation.xojo.com/api/language/pragma_directives.html

Ich habe ein Tool zur Webgestaltung das heißt EverWeb.

Kenne dieses Tool nicht
scheint ein Baukasten System zu sein, eine Datenbank bzw. Daten / Optionen woraus man ein HTML
ausgeben kann.

Bei Xojo musst Du ein bischen Objekt orientiert denken das als Beispiel
WebPage2.Show in einem Button die Seite wechselt statt eine URL benutzt zu haben.

Das so meine Gedanken.

Schau mal nach MindMap damit kann man sich Gedanken Zweige grafisch abbilden.
Wie sowas hier … (vorher testen ob es speichert)

Brian,
cool Thanks. :slight_smile:

Hallo Beatrix,
also schon mit Xojo aber wie? Danke für deine Hilfe. :slight_smile:

Super Idee. Danke dir sehr. Tolles Forum. Dann mache ich mich mal an die Arbeit. Cool.

Es kommt ganz darauf an, was Du machen willst. Ich habe verschiedene Hilfs-Projekte. Bei einem verbinde ich mich mit MySQL:

OrdersDBOnline = New MySQLCommunityServer
OrdersDBOnline.Host = ""
OrdersDBOnline.Port = 3306
OrdersDBOnline.DatabaseName = "licensedata"
OrdersDBOnline.UserName = "license_user"
OrdersDBOnline.Password = ""
Try
  OrdersDBOnline.Connect
  
  OrdersDBOnline.ExecuteSQL("SET NAMES utf8mb4")
  Return True
Catch error As DatabaseException
  // Connection error
  MessageBox("It wasn't possible to connect to mySQL: " + error.Message)
end try

Für MySQL muß ich noch nicht mal etwas spezielles machen, auch wenn die Datenbank auf dem Server meiner Hosting-Firma liegt.

Dann verbindet sich das Projekt mit Fastspring, holt sich die Daten und schubst das nach MySQL, was noch nicht drinnen ist. Das Fastspring-API - wie die meisten anderen APIs auch - arbeiten mit JSON. Da muß man sich durchbeißen, weil jedes API eine andere Syntax hat. Hier als Beispiel Redmine, mein Bug-Tracker:

// Create a URLConnection instance with the URL
Dim connection As New URLConnection
connection.RequestHeader("Content-Type") = "application/json"
connection.RequestHeader("X-Redmine-API-Key") = apiKey

// Set the request method and URL for the "issues.json" endpoint
Dim apiUrl As String = redmineServerURL + "/issues.json?limit=100&offset=" + Offset.ToString
dim theResult as String = connection.SendSync("GET", apiUrl)

Uiuiui Beatrix…soweit bin ich noch nicht. Das ist noch zu kompliziert für mich.-Im Moment. Danke aber sehr.

Hallo Beatrix,
eine Frage. So nun habe ich einmal ein Test im Webbereich geladen und auf Build gedrückt.
Nun öffnet sich ein Fenster:


wie starte ich denn nun die App?

So sieht es auf meinem Bildschirm aus…ist das richtig? Also links unten Windows angeklickt damit das Build funktioniert.:

Was ist denn Dein Default-Browser? Ich habe nur einige Male mit Web herumgespielt und da ging immer der Browser auf.

Press Run for testing and it will launch in browser

Firefox

Yes, that also works with run. But I have to make a build for the server. How do I start it on the server?

Read through this thread:
https://forum.xojo.com/t/windows-iis-deployment/72178/15

Hope it can help you

Build Ordner kopieren auf den Server, Copy/Paste in einer RDP Sitzung oder FTP / WinSCP etc.
Die EXE kann man einmalig mit dem SC Command Line Programm als Dienst registrieren,
das kann man im CMD Fenster tun als Admin oeffnen.
*SC* is a command line program used for communicating with the NT Service Controller
Starten/Stoppen ueber die Dienste Verwaltung oder mit SC START DienstName.

Wenn die EXE eigenstaendig laeuft (ohne Apache oder IIS bwz. Reverse-Proxy)
musst Du im Build Step ein Zertifikat bei der EXE tun um https zu haben.
Weil dieser Port 443 meist schon in Benutzung ist kann man irgendein anderen ueber 1024 oder so benutzen und Freigeben nach Aussen. Dann hast Du erstmal ein Erfolgserlebnis :slight_smile:

Also open port(s) in the firewall

Hallo Markus,
kann man das auch auf dem eigenen PC irgendwie machen?