Aplicación web para gestionar la distribución de software

9

Soy el chico de TI para una pequeña empresa de desarrollo de software. Tenemos software que pueden descargar los clientes que compraron una licencia a través de nuestro sitio web. Estoy tratando de encontrar una solución para administrar mejor el proceso de descarga de software. Con cada nueva versión tenemos compilaciones para varias plataformas y configuraciones (un total de aproximadamente 50 componentes diferentes descargables individualmente). Cada cliente solo tiene acceso a un pequeño subconjunto de estos componentes. Actualmente estoy "gestionando" todo esto con algunos scripts de Perl, pero es bastante tosco.

Estoy pensando en una aplicación web que permita a los clientes iniciar sesión y ver los componentes descargables que han comprado. No necesito nada sofisticado para tratar de comprar el software a través de nuestro sitio web ni nada de eso. Al menos inicialmente, el acceso a las descargas individuales se administrará manualmente por cliente. Estoy pensando en usar el módulo Project Drupal, pero necesitaría algunas modificaciones pesadas para hacer lo que necesitamos. ¿Hay algo más adecuado para esto?

Josh
fuente
¿A qué plataformas estás apuntando?
Richard junio
Nuestro servidor web está ejecutando Linux actualmente, así que esa es la plataforma a la que me gustaría dirigirme. Supongo que si encuentro una gran pieza de software construida en ASP.NET, consideraría configurar un servidor de Windows para esto.
Josh
También buscando una aplicación similar (la plataforma no es un problema), instalaremos un servidor para que coincida con un producto adecuado. Han agregado recompensas para alentar las respuestas.
Martin

Respuestas:

3

¿Por qué no Django ?

Un modelo que consta de todos los parámetros (número de compilación, ubicación del sistema de archivos, nombre, etc.) y utiliza el administrador incorporado para editar y agregar esos objetos (o hacerlo mediante programación con un script de compilación). Extienda el objeto de usuario incorporado, ajuste algunas vistas genéricas (object_detail, object_list) para mostrar las listas de sus productos, etc. Una simple combinación es todo lo que necesita para mostrar la lista de productos por usuario, que se abstrae con un ORM decente (o use SQLAlchemy, si esa es su bolsa).

Eso es solo una presentación de cómo yo personalmente lo haría. Django está diseñado para ser "baterías incluidas", por lo que encontrará que la mayoría de las cosas (tedio que realmente no le importaría mucho para esta aplicación, realmente) están listas para funcionar. Autenticación de usuario, panel de administración, etc.

Es Python, así que no estoy seguro si ese es tu conjunto de habilidades. Sin embargo, creo que sería una herramienta sólida para el trabajo, dada la información proporcionada. Si eres un administrador de sistemas a tiempo completo, te recomiendo aprenderlo.

Sam Halicke
fuente
1
Lo segundo, me volví 2 veces más útil como administrador una vez que aprendí algo de Python ... Es un lenguaje poderoso que se adapta muy bien a los administradores de sistemas. +1
Arenstar
1

Estás buscando un "software de gestión de distribución". Creo que la mayoría de las compañías de software utilizan su propio sistema o utilizan un servicio de terceros como Share It o Kagi. Existen algunas herramientas gratuitas como WebAuth ( http://bibledatabase.org/addon/sellsoft/index.htm ) y herramientas pagas como la de TechSys ( http://www.tecsys.com/solutions/distribution-management /benefits.shtml ).

Una persona ha mencionado cualquier herramienta de comercio electrónico que admita descargas digitales, que es otra posibilidad.

Creo que el problema con todas las soluciones, incluso las pagas, es que es como tratar de matar una mosca con una escopeta. Desarrollar su propia solución le permite integrarla estrechamente con sus procedimientos de compilación. Por supuesto, también se pueden unir otras herramientas, pero probablemente no tan bien como algo hecho a medida.

bogeymin
fuente
Desafortunadamente, las plataformas base de Windows no tienen ninguna forma estándar de instalar software en el sistema operativo. Las cosas han evolucionado con los instaladores estándar (msi) pero no es consciente de la red y tiene capacidades limitadas de secuencias de comandos. Windows no tiene la noción de un repositorio de software, por lo que te quedará descargar el software a mano e instalarlo. Tal vez sea hora de que Microsoft piense en este problema y lo resuelva en Windows 8.
El conserje de Unix
1
Una respuesta ha sugerido Django, y si fuera a construir un sistema así, eso es lo que ciertamente usaría. El ORM de Django y la interfaz de administración rápida harían un trabajo relativamente rápido de los requisitos de datos básicos y Python es una herramienta poderosa y flexible para usar para la automatización y la integración.
bogeymin
@ user37899 Si bien nada de esto es importante para el tema, por supuesto Windows tiene una forma estándar de instalación de software (y ha tenido una desde 2000, y estaba disponible para su uso desde entonces para win95 en adelante). El instalador de Windows es el instalador estándar que mencionaste como "msi". En lo que respecta a un repositorio de software, consulte Descripción
Jim B
0

Si eres hábil con PHP, sería muy fácil desarrollar algo como esto usando codeigniter o Kohana.

La solución simple es que una base de datos contendrá todos sus diferentes paquetes de software y URL a esos paquetes. Luego, el nombre de usuario o inicio de sesión sería un enlace de 1 a muchos a los paquetes de software. Cree una página de descargas y podrá mostrar la lista de paquetes vinculados a ese usuario.

Ese es el enfoque simple. La más compleja / segura sería garantizar que la URL solo funcione para el usuario que ha iniciado sesión. Y sería sensato asegurarse de que la URL permanezca fija para ese usuario. No estoy completamente seguro de cómo hacerlo para que el servidor web maneje la transferencia para un mejor rendimiento en lugar de PHP, pero habrá una manera.

Mate
fuente
Gracias por la sugerencia, pero específicamente queremos comprar un producto ya que tenemos un recurso de desarrollo web insignificante en nuestras instalaciones.
Martin
Por supuesto. Sugerí esto porque solo tomaría un par de días para lograr un prototipo que funcione. Podrías pasar eso mirando a tu alrededor. No estaba seguro de lo inteligente que eres con la codificación básica.
Matt
0

Supongo que una solución de comercio electrónico que admita productos digitales como descargas sería adecuada para este propósito.

Consulte http://en.wikipedia.org/wiki/Comparison_of_shopping_cart_software en las soluciones "Características generales" con "Descargas digitales".

Las soluciones populares de comercio electrónico que recomendaría son osCommerce, Magento y Spree. http://www.oscommerce.com/ http://www.magentocommerce.com/ http://spreecommerce.com/

Magento tiene una extensión de "Descargas digitales", pero cuesta $ 500. http://www.magentocommerce.com/magento-connect/ITPDX+LLC/extension/1047/digital-download-enhancement/reviews

Spree tiene una extensión gratuita "descargable". http://spreecommerce.com/extensions/38-downloadable

máquina de Turing
fuente
0

Puede usar un sistema de administración de contenido para controlar el acceso a los artículos comprados. Para eso están los CMS después de todo.

Allen
fuente
0

Echa un vistazo a whmcs.

Tiene un módulo de licencia y es muy económico probarlo.

www.WHMCS.com

Es lo que dirige una gran cantidad de organizaciones de hosting ... pero funciona bien para lo que estás pidiendo ...

Glenn Kelley
fuente