Coder Social home page Coder Social logo

siteserver / cms Goto Github PK

View Code? Open in Web Editor NEW
3.6K 216.0 1.2K 181.42 MB

SS CMS 基于 .NET Core,能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的网站平台。

Home Page: https://sscms.com

License: GNU Affero General Public License v3.0

JavaScript 66.70% HTML 7.40% CSS 1.47% C# 24.43% Dockerfile 0.01%
cms siteserver content-management-system c-sharp siteserver-cms dot-net sscms ss-cms

cms's People

Contributors

braceyx avatar codepassportgit avatar dependabot[bot] avatar lbhnrg2021 avatar player2135 avatar reynardsong avatar siteserverekun avatar sscmscom avatar starlying avatar wang11268440 avatar wxjv99 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cms's Issues

注释

代码没注释,可怜我基础差吧

增强互动和会员权限功能建议

改进前台投稿功能
1、栏目配置里可以设置哪些会员组有前台投稿权限,是否允许投稿,哪些会员组允许投稿,可配置匿名会员组或其它会员组有录入权限。
2、字段配置里可以设置该字段对哪些会员组前台投稿时不显示。
3、后台添加投稿页管理,用于定制不同的投稿页,与会员中心里的投稿页独立,可绑定对应模板,有独立的投稿页链接,模板里通过标签调用要录入的栏目里的字段的显示名称、字段录入框、验证。
4、后台添加批量修改栏目会员组录入权限
增加会员模型功能
1、可以对不同的会员组应用不同的模型
增加管理员关联前台会员功能

siteserver.exe CPU负载太高了

Windows Server 2016 E74820 - 8核心
无生成任务时siteserver.exe的CPU占用达到了13%左右,是不是有点太高了。它在做什么工作啊?

我fork下来的源码很有好多处@符号变成了$符号,是我的打开姿势不对吗

  private static string GetValidateCheckMethod(string attributeName, string displayName, InputValidateInfo validateInfo)
        {
            if (validateInfo != null)
            {
                return
                    $"checkAttributeValue('{attributeName}', '{displayName}', {validateInfo.IsRequire.ToString().ToLower()}, {validateInfo.MinNum}, {validateInfo.MaxNum}, '{validateInfo.RegExp}', '{validateInfo.ErrorMessage}');";
            }
            return string.Empty;
        }

内容无法插入视频错误解决问题

editor_config和ueditor.all.js经过修复后,再次发现添加视频后台成功前台不显示,后面奇葩的发现。视频:这个位置放视频地址进去前天奇迹般出现视频了!求解释和为什么?无法传图片上来!不知道时候能懂!

短信功能有60字的限制

在使用提交表单功能时,设置了短信提醒, 短信服务商是云片,短信长度有60字限制,请解决,谢谢。

第一个吃螃蟹,希望添加对于 PostgreSQL 数据库的支持。

简单浏览下代码。
后面要往跨平台方向弄的话,希望你们可以考虑 PostgreSQL 数据库。
数据层方面,可以考虑换用 EntityFramworkCore ,这个现在也支持 PostgreSQL 数据库,也支持 MySQL 数据库。这样就不用不同的数据库需要不同的访问 SQL 实现了。(不同数据库还是会有微小差异,但真的是“微小”)
应用程序构建在 ASP.Net Core 上。
这样跨平台就完美了。

内容编辑器问题

服务器上测试复制带图片的内容到内容编辑器,图片路径错误,图片保存到了/api/files/ueditor/upload/image目录下,导致图片不显示;本机测试显示的是站点的upload文件夹下的图片。

5.0版本发现Stl:SqlContents标签疑似BUG一枚

需求:需要使用SiteServer获取其它数据库中的内容,并生成HTML。
首先已经在Web.Config中定义好连接字符串,修改后的代码如下
 //<add key="IsProtectData" value="False" />
//<add key="DatabaseType" value="SqlServer" />
//<add key="ConnectionString" value="server=(local);uid=SA;pwd=ABC;database=SiteServer" />
//<add key="EIS" value="server=(local);uid=sa;pwd=ABC;database=EIS" />


使用ConnectionStringName="EIS"语句时不生效,且生成HTML后标记为 <!-- stl:sqlcontents error:对象名 '表名称' 无效。 -->,多次测试后均报此错误。

使用ConnectionString="server=(local);uid=sa;pwd=ABC;database=EIS"时可正常使用SQL语句获取内容。
但是由于第二种方式中数据库连接信息都写在模板里,安全性太低,期待能修复此问题。
感谢!!!



栏目链接类型问题

栏目的链接设置为链接到第一条内容,栏目下有多篇内容,第一条内容状态为未审核,生成之后此栏目链接会为待审核内容的链接,应该判断一下链接到已审核的第一篇内容的链接。

用户中心投稿审核问题

管理员审核用户投稿件选择终审退稿,后台显示是终审退稿状态,但是用户中心稿件管理中还是待审核状态。

stl:search中的{request.word}不解析

功能问题:stl:search应该是只返回一种结果!现在是服务器直接返回yes、no两个子标签,在客户端用js隐藏方式处理,不合理而且局限性太大!!
比如:我在搜索不到结果后要执行自己的js,如果一起返回就会一起执行,yes、no无法去分了。

stl:search机制有问题

stl:search
stl:loading等待信息</stl:loading>
stl:yes成功信息</stl:yes>
stl:no失败信息stl:no
</stl:search>

现有的是把所有信息全部输出前端,js判断显示,问题是:
当loading/yes/no包含js时都会执行,无法正确区分状态。
如果加载慢loading/yes/no所有html内容也都会出现,用户体验差。

功能建议

增加全文检索
增加FTP服务器配置,把附件上传到远程文件服务器。
增加动态页开启设置以便调试模板。
增加同一页面多屏适配,开启后首页、栏目、内容页等可绑定PC和手机平板模板。
增加插件管理功能和制作规范以便与核心平台分离和独立管理。
增加数据互通,主站可以下发文章给子站,子站可上报给主站。
增加配套模板,演示网站所有功能,会员中心模板、前台PC和手机模板。

源码无法运行呀 好多错误

是步骤不对吗
解决方案需要手动添加web站点 ,
然后运行web提示SiteServe.API Global不存在
重新引用之后,又提示SiteServer.BackgroundPages下面好多文件不存在

siteserver.exe 多线程版本的尝试。

站点内容太多,全站生成一次耗时太长了,自行修改了一下。
原来8核心CPU只有前两个核心有运算量,现在8核全开。生成时的CPU负载从6-7%(我自己改的降低负载版本)提高到30-60%,生成时间大约降低到原来的1/5。

贴出主要部分代码
ExecutionManager.cs

/批量获取生成任务/

public static List<CreateTaskInfo> GetPendings(int count)
{
    List<CreateTaskInfo> infoList = new List<CreateTaskInfo>();
    var sqlString = SqlUtils.GetTopSqlString("siteserver_CreateTask", "ID, CreateType, PublishmentSystemID, ChannelID, ContentID, TemplateID", "ORDER BY ID", count);

    using (IDataReader reader = WebConfigUtils.Helper.ExecuteReader(WebConfigUtils.ConnectionString, CommandType.Text, sqlString))
    {
        while (reader.Read())
        {
            var i = 0;

            CreateTaskInfo info = new CreateTaskInfo(GetInt(reader, i++),
                SiteServer.CMS.Model.Enumerations.ECreateTypeUtils.GetEnumType(GetString(reader, i++)),
                GetInt(reader, i++),
                GetInt(reader, i++),
                GetInt(reader, i++),
                GetInt(reader, i));

            infoList.Add(info);
        }
        reader.Close();
    }
    return infoList;
}

/原ExecutePendingCreate函数部分中关于生成的部分单独提出来/

public static void F(CreateTaskInfo taskInfo)
{
    try
    {
        var start = DateTime.Now;
        var fso = new FileSystemObject(taskInfo.PublishmentSystemID);
        fso.Execute(taskInfo);
        var timeSpan = DateUtils.GetRelatedDateTimeString(start);
        CreateTaskManager.Instance.RemovePendingAndAddSuccessLog(taskInfo, timeSpan);
    }
    catch (Exception ex)
    {
        CreateTaskManager.Instance.RemovePendingAndAddFailureLog(taskInfo, ex);
    }
}

/修改了原 ExecutePendingCreate/

public static bool ExecutePendingCreate()
{
    try
    {
        if (!ServiceManager.IsPendingCreateTask())
        {
            return false;
        }


        while (true)
        {
            var taskInfo = CreateTaskManager.Instance.GetLastPendingTask();
            if (taskInfo == null)
            {
                ServiceManager.ClearIsPendingCreateCache();
                return true;
            }
           //并行执行
            List<CreateTaskInfo> list = GetPendings(200);
            Parallel.ForEach<CreateTaskInfo>(list, i => F(i));
        }
    }
    catch (Exception ex)
    {
        LogUtils.AddAdminLog(string.Empty, "服务组件生成失败", ex.ToString());
    }

    return false;
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.