Comments (5)
CiviCRM isn't documented (by me) enough, it actually slipped passed me. I think a PR addressing this should:
- add a
civi_crm_
prefix to the related variables in application.yml - Not involve the service during tests (I dropped in some
unless Rails.env.test?
a couple month ago to solve this for rspec without ascertaining the nature of the dependency) - Allow the app to work just fine without a CiviCRM variables configured
- Document how to setup CiviCRM if that's a reasonable augmentation to the app we can anticipate of 3rd party code consumers
from action-center-platform.
Obviously affected by CiviCrm:
CiviCRM
- SubscriptionsController
- models/ahoy.rb
- models/user.rb
Subtly affected by CiviCrm:
- app/controllers/tools_controller.rb:99
- views/users/show.html.erb:186
- models/ahoy.rb:28
I could patch all the methods in CiviCRM to return nil if ENV['supporters_api'].nil? ... that could take care of the subtleties. And said conditionally could be applied to the above, more obvious stuff.
from action-center-platform.
3rd party consumers will need CRM integration of /some/ kind, so ideally it would be pluggable... :)
that said, CiviCRM is, afaik, the most popular free software CRM so it's not unlikely someone else using this tool also uses CiviCRM.
from action-center-platform.
K sounds like in addition to making the CiviCRM references test compatibly, I'm going to have to pick your brain about how CiviCRM is setup/ used/ etc and then flower the readme with these newly discovered wonders :)
from action-center-platform.
After touching base with mfb, it looks like the best way to approach this is to first make the CiviCRM sections test-safe (not take place when rails env is test).
There's a separate issue here, that CiviCRM is an assumption made to be what a code consumer already has set up. It would be advantageous to allow code consumers to provide their own plugins for CRM integration. Assuming Hainish is down with this idea and hadn't had other plans, in a separate issue (long down the road) someone should probably make the CiviCRM functionality take on a more modular nature. Specifically, in the first iteration, extract the existing CiviCRM functionality out into a gem, say, actioncenter-civi_crm which when included in the bundle will enable the action center's CiviCRM brand CRM integrations. This leads the way towards adopters being able to choose which CRM they're like to integrate actioncenter into, though actioncenter-civi_crm will likely be the only CRM plugin for a long time.
I've never built a gem like this but have always wanted to: http://guides.rubyonrails.org/plugins.html#add-a-class-method
Right now I want to complete a cucumber testing branch, a role adding branch, allow admins to set users to 'activists', and finally make the app faster so activism is overcome with happiness and they bring about an end to all bad laws once and for all.
from action-center-platform.
Related Issues (20)
- Re-enable and improve signature live updates
- Add tool tip to Partner logo upload
- Remove double pagination from petitions HOT 1
- Changing filters on analytics returns 500 error
- About Face petition field should request city, not university HOT 1
- Fix alignment on petition action HOT 1
- Standardize postgres version across environments
- Make reference to Salsa privacy policy on state level actions HOT 1
- Make header text on act.eff.org clickable HOT 1
- Email fields should only accept valid email addresses HOT 1
- slashes in links mysteriously turning into :
- Fix share icon spacing in thank you email HOT 1
- Ruby 2.5 is EOL in March 2021 HOT 3
- Tests appear to be broken on master branch
- Tweak Admin preview / view UX
- SES signature version error
- Error Net::SMTPServerBusy: 454 Throttling failure: Daily message quota exceeded. HOT 3
- Update Action Center text for call action
- Add Mx. option
- Error when looking up representative
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from action-center-platform.