重新开源UDS
这个题目起得很纠结。
因为很多人都知道UDS本来就是开源,我只不过改了一些东西,然后重新发布,所以不算重新开源。
要说重新发布也不对。因为老早这东西就发布了。
最后我想,这个东西已经很久没更新过了,也没人重新发布过修改过的版本,所以,我就算重新开源吧。
这里简单介绍一下UDS。
传说中UDS是一家公司的设计中的OA产品,原来打算做成后卖的,但是由于种种原因最后不做了。于是原来的开发者(也可能是老板)就把这个OA系统开源了。
这个东西的历史就是这么简单。
之前我不知道这个东西,最近是偶然拿到它的。按照需求让其能运行起来了,并做了一些功能增加。
由于之前作者已经将这个东西开源,虽然原作者没声明开源协议(或者声明了,但是现在找不到声明),但是依据我拿到的东西的开放程度和当时的普遍开源协议来看,
我猜原作者应该是GPL协议。所以我也不好把它藏着。于是决定重新把它放出。
尽管我也没做什么,这个东西经过我手后也没实质性的改变。但是我还是要尊重原作者的意图。
所以我把当前UDS的版本放到了GitHub上:https://github.com/JackFong/UDS
希望这东西能对一些人有所帮助。
最后感谢原作者的贡献。
这里简单说说我做了哪些改动:
1、数据库改用SQL Server 2008 R2
2、项目升级到 Visual Studio 2012
3、部分页面布局采用twitter bootstrap 2.3
4、部分控件改用Jquery UI 1.10.3
5、采用了backbonejs
6、部分文件上传组件采用Fine Uploader
7、浏览器兼容IE7以上,FireFox和Chrome
8、外部邮件接收采用了higLabo替代了原来的jMail
9、去掉了原来使用的水晶报表(因为原来对该组件的使用也不多,就两个页面,简单的统计)
10、使用了NuGet
重新开源UDS的更多相关文章
- S32Kxxx bootloader之UDS bootloader
了解更多关于bootloader 的C语言实现,请加我Q扣: 1273623966 (验证信息请填 bootloader),欢迎咨询或定制bootloader(在线升级程序). 两周前完成了基于UDS ...
- 【原】Android热更新开源项目Tinker源码解析系列之三:so热更新
本系列将从以下三个方面对Tinker进行源码解析: Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Android热更新开源项目Tinker源码解析系列之二:资源文件热更新 A ...
- 【原】Android热更新开源项目Tinker源码解析系列之一:Dex热更新
[原]Android热更新开源项目Tinker源码解析系列之一:Dex热更新 Tinker是微信的第一个开源项目,主要用于安卓应用bug的热修复和功能的迭代. Tinker github地址:http ...
- 【原】Android热更新开源项目Tinker源码解析系列之二:资源文件热更新
上一篇文章介绍了Dex文件的热更新流程,本文将会分析Tinker中对资源文件的热更新流程. 同Dex,资源文件的热更新同样包括三个部分:资源补丁生成,资源补丁合成及资源补丁加载. 本系列将从以下三个方 ...
- 哪种缓存效果高?开源一个简单的缓存组件j2cache
背景 现在的web系统已经越来越多的应用缓存技术,而且缓存技术确实是能实足的增强系统性能的.我在项目中也开始接触一些缓存的需求. 开始简单的就用jvm(java托管内存)来做缓存,这样对于单个应用服务 ...
- 开源:Taurus.MVC 框架
为什么要创造Taurus.MVC: 记得被上一家公司忽悠去负责公司电商平台的时候,情况是这样的: 项目原版是外包给第三方的,使用:WebForm+NHibernate,代码不堪入目,Bug无限,经常点 ...
- 终于等到你:CYQ.Data V5系列 (ORM数据层)最新版本开源了
前言: 不要问我框架为什么从收费授权转到免费开源,人生没有那么多为什么,这些年我开源的东西并不少,虽然这个是最核心的,看淡了就也没什么了. 群里的网友:太平说: 记得一年前你开源另一个项目的时候我就说 ...
- 开源:ASP.NET Aries 开发框架
前言: 随着岁月的推进,不知不觉已在.NET这领域上战斗了十年了. 青春还没来得急好好感受,却已是步入健忘之秋的老人一枚了. 趁着还有点记忆,得赶紧把硬盘里那私藏的80G除外的东西,和大伙分享分享. ...
- Taurus.MVC 2.2 开源发布:WebAPI 功能增强(请求跨域及Json转换)
背景: 1:有用户反馈了关于跨域请求的问题. 2:有用户反馈了参数获取的问题. 3:JsonHelper的增强. 在综合上面的条件下,有了2.2版本的更新,也因此写了此文. 开源地址: https:/ ...
随机推荐
- python 面向对象-笔记
1.如何创建类 class 类名: pass class bar: pass 2.创建方法 构造方法,__init__(self,arg) obj = 类('a1') 普通方法 obj = 类(‘xx ...
- MSSQL附加数据库5120错误(拒绝访问)处理方法
一. 右键需要附加的数据库文件,弹出属性对话框,选择安全标签页. 找到Authenticated Users用户名. 如未找到,进行Authenticated Users用户名的添加. 二. 添加Au ...
- 控制input标签中只能输入数字以及小数点后两位
js 代码如下: /* 控制input标签中只能输入数字 和小数点后两位 */ function checkNum(obj) { //检查是否是非数字值 if (isNaN(obj.value)) { ...
- python自省函数getattr的用法
getattr是python里的一个内建函数 getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里,在需要的时 ...
- Noip2016提高组 玩具谜题toy
Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...
- 09-JAVA中的异常处理
1. 程序执行结果: 也就是它根本就没抛出异常,更别提捕获异常了.那么,为什么会这样呢? 原来, 如上面程序展示,程序运行到k=i/j;的时候,就会直接终止,根本就不会运行到监视的程序,更不会运行到捕 ...
- jquery 给input赋值错误写法
<script type="text/javascript"> var ue = UE.getEditor('container'); function getCont ...
- MAC npm 需要管理员权限问题
我们在进行mac 命令行安装软件的时候,有的时候会遇见这样的问题:Please try running this command again as root/Administrator. 如图: 解决 ...
- Oracle中执行存储过程call和exec区别
Oracle中执行存储过程call和exec区别 在sqlplus中这两种方法都可以使用: exec pro_name(参数1..); call pro_name(参数1..); 区别: 1. 但是e ...
- Trie 最长前缀匹配串的实现
http://blog.csdn.net/hguisu/article/details/8131559