Webanwendung zum Verwalten der Softwareverteilung

9

Ich bin der IT-Mitarbeiter eines kleinen Softwareentwicklungsunternehmens. Wir haben Software, die von Kunden heruntergeladen werden kann, die eine Lizenz über unsere Website erworben haben. Ich versuche eine Lösung zu finden, um den Software-Download-Prozess besser zu verwalten. Mit jeder neuen Version haben wir Builds für verschiedene Plattformen und Konfigurationen (insgesamt etwa 50 verschiedene einzeln herunterladbare Komponenten). Jeder Kunde hat nur Zugriff auf eine kleine Teilmenge dieser Komponenten. Ich "verwalte" das alles derzeit mit einigen Perl-Skripten, aber es ist ziemlich grob.

Ich denke an eine Webanwendung, mit der sich Kunden anmelden und die von ihnen gekauften herunterladbaren Komponenten anzeigen können. Ich brauche nichts Besonderes, um die Software über unsere Website oder ähnliches zu kaufen. Zumindest zunächst wird der Zugriff auf die einzelnen Downloads pro Kunde manuell verwaltet. Ich denke darüber nach, das Project Drupal-Modul zu verwenden, aber es würde einige schwere Modifikationen erfordern, um das zu tun, was wir brauchen. Gibt es etwas, das dafür besser geeignet ist?

Josh
quelle
Auf welche Plattformen zielen Sie ab?
Richard
Auf unserem Webserver wird derzeit Linux ausgeführt. Dies ist also die Plattform, auf die ich abzielen möchte. Ich nehme an, wenn ich eine großartige Software finden würde, die in ASP.NET erstellt wurde, würde ich in Betracht ziehen, einen Windows-Server dafür einzurichten.
Josh
Auch auf der Suche nach einer ähnlichen Anwendung - Plattform ist kein Problem - werden wir einen Server installieren, der zu einem geeigneten Produkt passt. Haben Kopfgeld hinzugefügt, um Antworten zu ermutigen.
Martin

Antworten:

3

Warum nicht Django ?

Ein Modell, das aus allen Parametern (Build-Nummer, Speicherort des Dateisystems, Name usw.) besteht und diese Objekte mithilfe des integrierten Administrators bearbeitet und hinzufügt (oder programmgesteuert mit einem Build-Skript). Erweitern Sie das integrierte Benutzerobjekt, schließen Sie einige allgemeine Ansichten (object_detail, object_list) ein, um die Liste (n) Ihrer Produkte usw. anzuzeigen. Ein einfacher Join ist alles, was Sie benötigen, um die Liste der Produkte pro Benutzer anzuzeigen, mit der abstrahiert wird ein anständiges ORM (oder verwenden Sie SQLAlchemy, wenn das Ihre Tasche ist.)

Das ist nur ein Aufzug, wie ich persönlich vorgehen würde. Django ist so konzipiert, dass es "Batterien enthalten" ist. Sie werden also feststellen, dass die meisten Dinge (Langeweile, die Sie für diese Anwendung eigentlich nicht wirklich interessieren würden) bereit sind. Benutzerauthentifizierung, Admin-Panel usw.

Es ist Python, also bin ich mir nicht sicher, ob das deine Fähigkeiten sind. Ich denke jedoch, dass es angesichts der bereitgestellten Informationen ein solides Werkzeug für den Job wäre. Wenn Sie ein Vollzeit-Systemadministrator sind, empfehle ich dringend, es zu lernen.

Sam Halicke
quelle
1
Nachdem
1

Sie suchen nach "Distributionsmanagement-Software". Ich denke, die meisten Softwareunternehmen rollen ihr eigenes System oder nutzen einen Drittanbieter-Service wie Share It oder Kagi. Es gibt einige kostenlose Tools wie WebAuth ( http://bibledatabase.org/addon/sellsoft/index.htm ) und kostenpflichtige Tools wie das von TechSys ( http://www.tecsys.com/solutions/distribution-management) /benefits.shtml ).

Eine Person hat jedes E-Commerce-Tool erwähnt, das digitale Downloads unterstützt. Dies ist eine weitere Möglichkeit.

Ich denke, das Problem bei allen Lösungen - auch bei den bezahlten - ist, dass es so ist, als würde man versuchen, eine Fliege mit einer Schrotflinte zu töten. Wenn Sie Ihre eigene Lösung rollen, können Sie sie eng in Ihre Erstellungsverfahren integrieren. Natürlich können auch andere Werkzeuge zusammengebunden werden, aber wahrscheinlich nicht so gut wie etwas Maßgeschneidertes.

Bogeymin
quelle
Leider haben Windows-Basisplattformen keine Standardmethode zum Installieren von Software im Betriebssystem. Mit Standardinstallationsprogrammen (msi) haben sich die Dinge weiterentwickelt, aber es ist nicht netzwerkfähig und verfügt nur über eingeschränkte Skriptfunktionen. Windows hat keine Ahnung von einem Software-Repo, daher müssen Sie die Software manuell herunterladen und installieren. Vielleicht ist es Zeit für Microsoft, über dieses Problem nachzudenken und es in Windows 8 zu lösen.
The Unix Janitor
1
Eine Antwort hat Django vorgeschlagen, und wenn ich ein solches System bauen würde, würde ich das sicherlich verwenden. Das ORM und die schnelle Administrationsoberfläche von Django würden die Kerndatenanforderungen relativ schnell erfüllen, und Python ist ein leistungsstarkes und flexibles Tool für die Automatisierung und Integration.
Bogeymin
@ user37899 Obwohl nichts davon für das Thema relevant ist, hat Windows natürlich eine Standardmethode zum Installieren von Software (und hat seit 2000 eine und war seitdem für Win95 verfügbar). Das Windows-Installationsprogramm ist das Standardinstallationsprogramm, das Sie als "msi" bezeichnet haben. Informationen zum Software-Repository finden Sie in der Übersicht über die Installation der Gruppenrichtlinien-Software: technet.microsoft.com/en-us/library/cc738858(WS.10).aspx
Jim B,
0

Wenn Sie mit PHP vertraut sind, ist es ein Kinderspiel, so etwas mit Codeigniter oder Kohana zu entwickeln.

Die einfache Lösung besteht darin, dass eine Datenbank alle Ihre verschiedenen Softwarepakete und URLs zu diesen Paketen enthält. Dann wäre der Login- oder Kundenname ein 1 zu viele Link zu den Softwarepaketen. Wenn Sie eine Downloadseite aufrufen, können Sie die Liste der mit diesem Benutzer verknüpften Pakete anzeigen.

Das ist der einfache Ansatz. Das komplexere / sicherere wäre, sicherzustellen, dass die URL nur für den angemeldeten Benutzer funktioniert. Und es wäre sinnvoll sicherzustellen, dass die URL für diesen Benutzer fest bleibt. Ich bin mir nicht ganz sicher, wie ich das machen soll, damit der Webserver die Übertragung für eine bessere Leistung als für PHP abwickelt, aber es wird einen Weg geben.

Matt
quelle
Vielen Dank für den Vorschlag, aber wir möchten speziell ein Produkt kaufen, da wir nur über vernachlässigbare Ressourcen für die Webentwicklung verfügen.
Martin
Sicher. Ich schlug dies vor, weil es nur ein paar Tage dauern würde, bis ein funktionierender Prototyp fertig ist. Sie könnten das damit verbringen, sich umzuschauen. Ich war mir nicht sicher, wie geschickt Sie mit der grundlegenden Codierung sind.
Matt
0

Eine E-Commerce-Lösung, die digitale Produkte als Downloads unterstützt, wäre für diesen Zweck wohl gut geeignet.

Siehe http://en.wikipedia.org/wiki/Comparison_of_shopping_cart_software unter "Allgemeine Funktionen" -Lösungen mit "Digital Downloads".

Beliebte E-Commerce-Lösungen, die ich empfehlen würde, sind osCommerce, Magento und Spree. http://www.oscommerce.com/ http://www.magentocommerce.com/ http://spreecommerce.com/

Magento hat eine "Digital Downloads" -Erweiterung, die jedoch 500 US-Dollar kostet. http://www.magentocommerce.com/magento-connect/ITPDX+LLC/extension/1047/digital-download-enhancement/reviews

Spree hat eine kostenlose "Downloadable" -Erweiterung. http://spreecommerce.com/extensions/38-downloadable

Turing Maschine
quelle
0

Sie können ein Content-Management-System verwenden, um den Zugriff auf die gekauften Artikel zu steuern. Dafür sind CMS schließlich da.

Allen
quelle
0

Schauen Sie sich whmcs an.

Es verfügt über ein Lizenzmodul - und ist sehr kostengünstig auszuprobieren

www.WHMCS.com

Es ist das, was eine große Anzahl von Hosting-Organisationen betreibt ... aber es funktioniert gut für Ihre Fragen ...

Glenn Kelley
quelle