Answers.Body: <p>You might want to start with <a href="https://docs.civicrm.org/dev/en/latest/" rel="nofollow noreferrer">https://docs.civicrm.org/dev/en/latest/</a> if you haven't seen that before. To try out API functions, I would encourage you to login to a civi instance and go to the menu beside Administer, ie Support  &gt; Developer &gt; APIv3 (or preferrably APIv4 if it has what you want), then test things there. The same functionality is available on your iwn instance. Note especially the callback methods available under <a href="https://docs.civicrm.org/dev/en/latest/hooks/" rel="nofollow noreferrer">https://docs.civicrm.org/dev/en/latest/hooks/</a></p>
  <p>There are CiviCRM logs available at sites/default/files/civicrm/ConfigAndLog/ but you may also need to look at your Apache and occasionally MySQL logs too. Welcome, and good luck.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-12-29T17:45:30.097Z
Answers.Text: thanks Joe. The API v3 (for SMS) was of great help to succeed.
Answers.UserDisplayName: Guillaume Sorel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2020-12-29T17:38:41.207Z
Answers.LastActivityDate: 2020-12-29T17:38:41.207Z
Answers.UserDisplayName: Joe Murray
Answers.Body: <p>Thanks to all of you who helped us creating our first extension. We've just published it <a href="https://github.com/allinappli/alinto" rel="nofollow noreferrer">on our Git account</a>. Users in France can now send through a local and professional company.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T15:26:27.367Z
Answers.Text: Nice. Are you able to add it to https://civicrm.org/extensions - it would make it easier for others to find it.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T15:59:14.140Z
Answers.Text: I would love to. We have an account but as simple users so I can't add this extension. Should I promote it somewhere else?
Answers.UserDisplayName: Guillaume Sorel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T16:07:01.020Z
Answers.Text: Is it this account? https://civicrm.org/users/allinappli - I can ask them to give you the ability to add extensions/blog permission.
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T16:08:29.367Z
Answers.Text: yes this one. please ask them.
Answers.UserDisplayName: Guillaume Sorel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T16:46:26.620Z
Answers.Text: I'm told that the rules say you have to ask yourself. Can you go to https://chat.civicrm.org/civicrm/pl/kwypdx85apda7mw3jaxzjb99nr and ask there?
Answers.UserDisplayName: Demerit
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T17:32:22.353Z
Answers.Text: done! thanks Demerit
Answers.UserDisplayName: Guillaume Sorel
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-01-05T15:14:31.460Z
Answers.LastActivityDate: 2021-01-05T15:14:31.460Z
Answers.UserDisplayName: Guillaume Sorel
Body: <p>We are trying to create a new extension for an SMS provider and after days of struggling, we're still not successful, even if a great part of the job is probably done.</p>
  <p>We followed the documentation and got a lot of information out of the existing extensions (twilio, clickatel, ring central) and this was already really helpful.</p>
  <p>The thing is that we are stuck and we would need logs or error message to better understand what's going on with the code.</p>
  <p>How do developers usually work on a (new) extension? Should we use <code>cv</code> to try out the functions?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-12-23T20:38:27.120Z
Comments.Text: Did you see https://civicrm.org/extensions/dummy-sms-provider - it's a simple SMS extension that may give you some ideas?
Comments.UserDisplayName: Matthew Wire
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-12-24T00:25:39.430Z
Comments.Text: I made the ringcentral one so if there's something specific you're stuck on I might be able to remember. But in terms of how to develop I'm not sure what you mean. Do you mean how to test SMS without getting billed for every test? Ringcentral is free during development, not sure about others. Or are you looking for generic development tips on how to understand what core civi is doing?
Comments.UserDisplayName: Demerit
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-12-24T08:54:31.150Z
Comments.Text: @MatthewWire I didn't know about dummy SMS. Thanks a lot. we'll for sure give a try.
Comments.UserDisplayName: Guillaume Sorel
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-12-24T09:01:41.737Z
Comments.Text: @Demerit We saw your extension and the very detailed code and it also helps a lot. We have a test account at our SMS provider (French company named Alinto) with a high quota of SMS. My question was more about how to get error messages and if using 'cv' would help us to debug our code.
Comments.UserDisplayName: Guillaume Sorel
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2020-12-24T14:10:16.270Z
Comments.Text: You can do the usual things like add code to log to ConfigAndLog, e.g. `\Civi::log()->debug('here is some debugging');` or if you really want to understand in detail what is happening use xdebug and an IDE to run through the code stepping through it line by line. I'm not sure `cv` would add much here but you might be able to use it to automate a script that sends an SMS for testing.
Comments.UserDisplayName: Demerit
Tags: <developer><sms>
Title: Help for developing an extension for SMS
ThreadText: # Help for developing an extension for SMS
  
  (Asked by: username_0 on 2020-12-23)
  
  We are trying to create a new extension for an SMS provider and after days of struggling, we're still not successful, even if a great part of the job is probably done.
  
  We followed the documentation and got a lot of information out of the existing extensions (twilio, clickatel, ring central) and this was already really helpful.
  
  The thing is that we are stuck and we would need logs or error message to better understand what's going on with the code.
  
  How do developers usually work on a (new) extension? Should we use `cv` to try out the functions?
  
  **Tags:** developer, sms
  
  > **Comments:**
  > **username_1**: Did you see https://civicrm.org/extensions/dummy-sms-provider - it's a simple SMS extension that may give you some ideas?  
  > **username_2**: I made the ringcentral one so if there's something specific you're stuck on I might be able to remember. But in terms of how to develop I'm not sure what you mean. Do you mean how to test SMS without getting billed for every test? Ringcentral is free during development, not sure about others. Or are you looking for generic development tips on how to understand what core civi is doing?  
  > **username_0**: @MatthewWire I didn't know about dummy SMS. Thanks a lot. we'll for sure give a try.  
  > **username_0**: @username_2 We saw your extension and the very detailed code and it also helps a lot. We have a test account at our SMS provider (French company named Alinto) with a high quota of SMS. My question was more about how to get error messages and if using 'cv' would help us to debug our code.  
  > **username_2**: You can do the usual things like add code to log to ConfigAndLog, e.g. `\Civi::log()->debug('here is some debugging');` or if you really want to understand in detail what is happening use xdebug and an IDE to run through the code stepping through it line by line. I'm not sure `cv` would add much here but you might be able to use it to automate a script that sends an SMS for testing.  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_3 on 2020-12-29. Score: 2 | Accepted answer
  
  You might want to start with <https://docs.civicrm.org/dev/en/latest/> if you haven't seen that before. To try out API functions, I would encourage you to login to a civi instance and go to the menu beside Administer, ie Support > Developer > APIv3 (or preferrably APIv4 if it has what you want), then test things there. The same functionality is available on your iwn instance. Note especially the callback methods available under <https://docs.civicrm.org/dev/en/latest/hooks/>
  
  There are CiviCRM logs available at sites/default/files/civicrm/ConfigAndLog/ but you may also need to look at your Apache and occasionally MySQL logs too. Welcome, and good luck.
  
  > **Comments:**
  > **username_0**: thanks Joe. The API v3 (for SMS) was of great help to succeed.  
  
  ---
  
  ### Answer by username_0 on 2021-01-05. Score: 1
  
  Thanks to all of you who helped us creating our first extension. We've just published it [on our Git account](https://github.com/allinappli/alinto). Users in France can now send through a local and professional company.
  
  > **Comments:**
  > **username_2**: Nice. Are you able to add it to https://civicrm.org/extensions - it would make it easier for others to find it.  
  > **username_0**: I would love to. We have an account but as simple users so I can't add this extension. Should I promote it somewhere else?  
  > **username_2**: Is it this account? https://civicrm.org/users/allinappli - I can ask them to give you the ability to add extensions/blog permission.  
  > **username_0**: yes this one. please ask them.  
  > **username_2**: I'm told that the rules say you have to ask yourself. Can you go to https://chat.civicrm.org/civicrm/pl/kwypdx85apda7mw3jaxzjb99nr and ask there?  
  > **username_0**: done! thanks username_2  
  
  ---
  
  