action-center-platform, EFF行动中心平台

分享于 

8分钟阅读

GitHub

  繁體 雙語
The EFF Action Center Platform
  • 源代码名称:action-center-platform
  • 源代码网址:http://www.github.com/EFForg/action-center-platform
  • action-center-platform源代码文档
  • action-center-platform源代码下载
  • Git URL:
    git://www.github.com/EFForg/action-center-platform.git
    Git Clone代码到本地:
    git clone http://www.github.com/EFForg/action-center-platform
    Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/EFForg/action-center-platform
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    

    Build Status

    操作中心平台

    操作中心平台是由公司维护的在线组织工具。 管理员可以创建针对用户签署申请。联系立法者和参与社交媒体的目标活动。

    设置

    按照以下说明使用 Docker ( 推荐推荐) 运行操作中心。 要在没有 Docker的情况下运行操作中心,请参见没有 Docker的设置。

    • 安装 Docker ( 指令 ) 和 Docker 组成( 指令 )。
    • git clone https://github.com/EFForg/action-center-platform.git
    • docker-compose.yml.example 复制到 docker-compose.yml.env.example 复制到 .env。 根据文件中的说明填充 .env 中的变量。 有关提示,请参见注释依赖项。
    • 生成 Docker 映像:sudo docker-compose build
    • 运行应用程序:sudo docker-compose up
    • 在新选项卡中,获取一个 bash shell,可以访问你的应用程序: sudo docker-compose exec app bash
    • 如果没有自动运行迁移,请运行 rake db:migrate 来迁移数据库。
    • 运行 rake congress:update 以填充CongressMember表。

    注释

    生成 icon-字体

    使用 fontello.com 命令生成EFF字体,并通过fontello-rails-converter 生成 font。

    要向fontset添加新的icon,请阅读 fontello_rails_converter自述文件中现有的fontello Update Update Update。

    使用操作中心

    操作中心管理员可以创建四种类型的操作:

    • 呼叫动作
      • 用户通过电话连接到政治领导者,留下消息或者有时与助手交谈。
    • 申请
      • 用户签署请愿,留下电子邮件地址和位置数据。
      • 用户可以选择申请当地机构( 像大学一样),并按机构查看签名。
    • 推 Action
      • 用户被邀请使用他们的Twitter 帐户加入tweet操作。
    • 电子邮件操作

    管理用户

    要开始使用操作中心,请创建一个用户并授予他们管理员权限。 管理员可以创建,跟踪和管理活动。

    创建管理员用户需要花费 :

    • 如果用户还不存在,通过在顶部导航中的register 链接通过web界面创建它们。
    • 运行rake任务以授予他们管理员访问权限( 包括方括号):
    
    rake users:add_admin[youremail@example.org]
    
    
    
    

    新用户需要完成 E-mail 确认才能登录。 管理员可以通过单击导航中的admin 来访问管理功能。

    删除管理员用户的费用:

    
    rake users:remove_admin[youremail@example.org]
    
    
    
    

    列出所有管理员用户的: :

    
    rake users:list_admins
    
    
    
    

    延迟作业和 Cron

    操作中心使用 DelayedJob 在web请求上下文之外执行某些任务。 有关如何运行延迟作业工作线程的信息,请参阅知识库。 如果使用 Docker 部署,我们的 docker-compose.yml.example 插件将展示如何创建一个服务,该服务可以无限地。

    你可能还希望自动执行某些其他任务( 例如 rake signatures:deduplicaterake congress:update ) 以偶尔运行。 对于那些使用 Docker的部署,docker-compose.yml.example 演示如何创建一个服务,该服务使用cron定期运行这些命令。

    嵌入操作

    嵌入操作非常简单只需在希望嵌入操作的页面上包含以下 HTML:

    
    <script type="text/javascript" src="https://act.eff.org/action/embed"></script>
    
    
    <a class="action-center-widget" href="https://act.eff.org/action/shut-the-nsa-s-backdoor-to-the-internet">Take part in the action!</a>
    
    
    
    

    链接href应该指向你希望嵌入的操作页面。 你可以将 ?nosignup=1 添加到 URL,以获取从操作中省略的通讯注册字段。

    如果想要获得更多的内容,可以修改嵌入代码以包括下列参数,它的中所有参数都是可选的:

    
    <script type="text/javascript">
    
    
     var ac_embed = {};
    
    
     ac_embed.css ="https://example.com/hello.css";//specify a css file url
    
    
     ac_embed.width = 500;//specify a width manually
    
    
     ac_embed.no_css = true;//remove all default styles
    
    
     ac_embed.css_content ="#some_elem";//specify an element which itself contains some styles
    
    
     ac_embed.bioguide_ids = ["ID1","ID2"...]//bioguide IDs of congress members to target
    
    
    </script>
    
    
    <script id="some_div" type="text/x-css-content">
    
    
     body{
    
    
     background-color: blue;
    
    
     }
    
    
    </script>
    
    
    <script type="text/javascript" src="https://act.eff.org/action/embed"></script>
    
    
    <a id="action-center-widget" href="https://act.eff.org/action/shut-the-nsa-s-backdoor-to-the-internet">Take part in the action!</a>
    
    
    
    

    测试

    要运行完整测试套件,只需运行不带参数的rake 即可。

    Rspec测试用于单元测试,以及一些集成测试。 Cucumber 测试用于测试API键。javascript测试和特性测试。

    我们使用 WebMock 将后端请求连接到第三方服务和 Puffing Billy stub前端请求。 在未来测试运行中,Puffing将缓存无法识别的请求和回放。 要防止比利发出任何新请求,请设置 DISABLE_PUFFING_BILLY_REQUESTS=true

    Linting

    rake 还将运行我们的linting: 目前,只有 Rubocop

    Rubocop在代码库的ruby 区域中检查一致的样式。 我们使用一个修改版本的rubocop,以保持与秒的一致性。

    确认

    这里项目由 Lilia Kai,Thomas Davis和新浪Khanifar创建。 代码库的大部分直接归因于他们,而在 2014年的电子前沿基础的使用或者contractorship中。 感谢 Lilia,Thomas和新浪 ! 行动中心目前由EFF工程和设计团队维护。

    许可证

    查看 LICENSE 文件以获得授权信息。 这适用于整个项目,没有任何 3rd 方库可以包含。


    平台  act  Action  中间  
    相关文章