Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feature request: don't require dependency on working installation #76

Open
lcdservices opened this issue Aug 25, 2016 · 1 comment
Open

Comments

@lcdservices
Copy link

Civix is a great tool -- the one downside I find is that some of the actions require that a full working site be in place. I don't always build extensions within a full site install, and want the flexibility to be able to create extension elements without that requirement. Some actions will throw errors but still create the element (generate/form/page), others will error and not create the action (api).

@totten
Copy link
Owner

totten commented Oct 19, 2016

This seems like something that's amenable to divide-and-conquer/incremental progress. Basically, grep the src for Services::api3 and Services::boot. For each of the matches, figure out why it's booting and try to craft work-around.

A few examples (first-impressions/recollections):

  • AddApiCommand and AddCaseTypeCommand boot because they need helper functions to correctly format some names. ( civicrm_api_get_function_name() and CRM_Case_XMLProcessor::mungeCasetype, respectively.) Since these are small utilities, one could probably just copy the code into civix; then they don't need to boot.
  • AddCustomDataCommand really needs to boot and access the database. It reads the live config and exports to a file.
  • AddReportCommand and AddSearchCommand don't strictly need a live system... but if you use the --copy feature, then they do need access to the source tree. They do a boot because this is an easy to get access to the source tree. Find another way to get the source tree?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants