Application Web pour gérer la distribution de logiciels

9

Je suis l'informatique d'une petite entreprise de développement de logiciels. Nous avons un logiciel téléchargeable par les clients qui ont acheté une licence via notre site Web. J'essaie de trouver une solution pour mieux gérer le processus de téléchargement de logiciels. Avec chaque nouvelle version, nous avons des versions pour diverses plates-formes et configurations (totalisant environ 50 composants différents téléchargeables individuellement). Chaque client n'a accès qu'à un petit sous-ensemble de ces composants. Je "gère" actuellement tout cela avec des scripts Perl mais c'est assez grossier.

Je pense à une application Web qui permettrait aux clients de se connecter et d'afficher les composants téléchargeables qu'ils ont achetés. Je n'ai besoin de rien de spécial pour acheter le logiciel via notre site Web ou quelque chose comme ça. Au moins initialement, l'accès aux téléchargements individuels sera géré manuellement par client. Je pense à utiliser le module Project Drupal mais il aurait besoin de lourdes modifications pour faire ce dont nous avons besoin. Y a-t-il quelque chose de mieux adapté à cela?

Josh
la source
Quelles plateformes visez-vous?
Richard
Notre serveur Web exécute actuellement Linux, c'est la plate-forme que je souhaite cibler. Je suppose que si je trouvais un excellent logiciel intégré à ASP.NET, j'envisagerais de configurer un serveur Windows pour cela.
Josh
Nous recherchons également une application similaire - la plate-forme n'est pas un problème - nous installerons un serveur pour correspondre à un produit approprié. Ont ajouté de la prime pour encourager les réponses.
Martin

Réponses:

3

Pourquoi pas Django ?

Un modèle composé de tous les paramètres (numéro de build, emplacement du système de fichiers, nom, etc.), et utiliser l'administrateur intégré pour modifier et ajouter ces objets (ou le faire par programmation avec un script de build). Étendez l'objet utilisateur intégré, encapsulez des vues génériques (object_detail, object_list) pour afficher la ou les listes de vos produits, etc. Une simple jointure suffit pour afficher la liste des produits par utilisateur, qui est abstraite avec un ORM décent (ou, utilisez SQLAlchemy, si c'est votre sac.)

Ce n'est qu'un aperçu de la façon dont je procéderais personnellement. Django est conçu pour être "piles incluses", donc vous constaterez que la plupart des choses (ennuyeux dont vous ne vous soucieriez pas vraiment pour cette application, vraiment) sont toutes prêtes. Authentification utilisateur, panneau d'administration, etc.

C'est Python, donc je ne sais pas si c'est votre compétence. Cependant, je pense que ce serait un outil solide pour le travail, compte tenu des informations fournies. Si vous êtes un administrateur système à temps plein, je vous recommande vivement de l'apprendre.

Sam Halicke
la source
1
J'appuie cela, je suis devenu 2 fois plus utile qu'un administrateur une fois que j'ai appris du python ... C'est un langage puissant qui s'adapte extrêmement bien à l'administrateur système. +1
Arenstar
1

Vous recherchez un "logiciel de gestion de distribution". Je pense que la plupart des éditeurs de logiciels utilisent leur propre système ou utilisent un service tiers comme Share It ou Kagi. Il existe quelques outils gratuits comme WebAuth ( http://bibledatabase.org/addon/sellsoft/index.htm ) et des outils payants comme celui de TechSys ( http://www.tecsys.com/solutions/distribution-management /benefits.shtml ).

Une personne a mentionné tout outil de commerce électronique prenant en charge les téléchargements numériques, ce qui est une autre possibilité.

Je pense que le problème avec toutes les solutions - même celles payées - c'est que c'est comme essayer de tuer une mouche avec un fusil de chasse. Rouler votre propre solution vous permet de l'intégrer étroitement à vos procédures de construction. Bien sûr, d'autres outils peuvent également être liés, mais probablement pas aussi bien que quelque chose sur mesure.

bogeymin
la source
Malheureusement, les plates-formes de base Windows n'ont aucun moyen standard d'installer des logiciels dans le système d'exploitation. Les choses ont évolué avec les installateurs standard (msi) mais il n'est pas compatible avec le réseau et a des capacités de script limitées. Windows n'a aucune notion de dépôt de logiciel, vous allez donc devoir télécharger le logiciel à la main et l'installer. Il est peut-être temps pour Microsoft de réfléchir à ce problème et de le résoudre dans Windows 8.
The Unix Janitor
1
Une réponse a suggéré Django, et si j'allais construire un tel système, c'est ce que j'utiliserais certainement. L'ORM de Django et l'interface d'administration rapide feraient un travail relativement rapide des exigences de données de base et python est un outil puissant et flexible à utiliser pour l'automatisation et l'intégration.
bogeymin
@ user37899 Bien que rien de cela ne soit lié au sujet, bien sûr, Windows a une façon standard d'installer le logiciel (et en a un depuis 2000, et était disponible depuis lors pour win95). Le programme d'installation de Windows est le programme d'installation standard que vous avez mentionné comme "msi". En ce qui concerne un référentiel de logiciels, consultez Vue d'ensemble de l'installation du logiciel de stratégie de groupe: technet.microsoft.com/en-us/library/cc738858(WS.10).aspx
Jim B
0

Si vous êtes à l'aise avec PHP, ce serait un jeu d'enfant de développer quelque chose comme ça en utilisant codeigniter ou Kohana.

La solution simple est qu'une base de données contiendrait tous vos différents packages logiciels et URL vers ces packages. Le nom d'utilisateur ou de connexion serait alors un lien 1 vers plusieurs vers les progiciels. Préparez une page de téléchargements et vous pouvez afficher la liste des paquets liés à cet utilisateur.

Voilà l'approche simple. Le plus complexe / sécurisé serait de garantir que l'URL ne fonctionne que pour l'utilisateur connecté. Et il serait judicieux de s'assurer que l'URL reste fixe pour cet utilisateur. Je ne sais pas vraiment comment le faire pour que le serveur Web gère le transfert pour de meilleures performances plutôt que PHP, mais il y aura un moyen.

Mat
la source
Merci pour la suggestion, mais nous voulons spécifiquement acheter un produit car nous avons en interne des ressources de développement Web négligeables.
Martin
Sûr. Je l'ai suggéré car cela ne prendrait que quelques jours pour créer un prototype fonctionnel. Vous pourriez passer cela à regarder autour de vous. Je ne savais pas à quel point vous êtes averti avec le codage de base.
Matt
0

Une solution de commerce électronique qui prend en charge les produits numériques en tant que téléchargements serait bien adaptée à cette fin, je suppose.

Voir http://en.wikipedia.org/wiki/Comparison_of_shopping_cart_software sous "General Features" solutions with "Digital Downloads".

Les solutions de commerce électronique populaires que je recommanderais sont osCommerce, Magento et Spree. http://www.oscommerce.com/ http://www.magentocommerce.com/ http://spreecommerce.com/

Magento a une extension "Téléchargements numériques", mais cela coûte 500 $. http://www.magentocommerce.com/magento-connect/ITPDX+LLC/extension/1047/digital-download-enhancement/reviews

Spree a une extension "téléchargeable" gratuite. http://spreecommerce.com/extensions/38-downloadable

turingmachine
la source
0

Vous pouvez utiliser un système de gestion de contenu pour contrôler l'accès aux articles achetés. C'est à cela que servent les CMS après tout.

Allen
la source
0

Découvrez whmcs.

Il dispose d'un module de licence - et très peu coûteux à essayer

www.WHMCS.com

C'est ce qui gère un grand nombre d'organisations d'hébergement ... mais fonctionne bien pour ce que vous demandez ...

Glenn Kelley
la source