latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Home Forums Hamid

About: Hamid

Be easy; Be true.


My Favorite Topics

Viewing topic 1 (of 1 total)
Topic Count Last Reply
Custom Form Requires Creation of Paypal Acct

By:  Hamid in: Community Forum

voices: 2
replies: 4

3 years, 11 months ago  Hamid

Viewing topic 1 (of 1 total)

Topics I'm Subscribed To

Viewing 22 topics - 1 through 22 (of 22 total)
Topic Count Last Reply
Solution for Demotion at EOT Not Affecting CC

By:  Hamid in: Community Forum

voices: 2
replies: 2

3 years, 7 months ago  Hamid

Plugin to easily browse secure files

By:  potsky in: Unofficial Extensions/Hacks

voices: 3
replies: 10

3 years, 11 months ago  Hamid

Using Pro BillingCancelation Form Shortcode

By:  Hamid in: Community Forum

voices: 3
replies: 3

3 years, 11 months ago  Jason (Lead Developer)

Member Since

By:  Vincent Miele in: Community Forum

voices: 3
replies: 5

3 years, 11 months ago  Eduan

Can Users Delete Their Account?

By:  Hamid in: Community Forum

voices: 3
replies: 7

3 years, 11 months ago  Hamid

Custom Form Requires Creation of Paypal Acct

By:  Hamid in: Community Forum

voices: 2
replies: 4

3 years, 11 months ago  Hamid

Blank lines before Paypal Button

By:  Andrew Horder in: Community Forum

voices: 2
replies: 4

3 years, 11 months ago  Hamid

Cancelling Subscriptions

By:  JD Duran in: Community Forum

voices: 2
replies: 2

3 years, 11 months ago  Hamid

Stripe Integration With S2Member

By:  VegasKev in: Community Forum

voices: 8
replies: 17

4 years, 1 month ago  Bruce

Force download

By:  Hamid in: Community Forum

voices: 3
replies: 10

4 years, 2 months ago  Hamid

Changing Member Level Number to Level Label

By:  Hamid in: Community Forum

voices: 2
replies: 10

4 years, 2 months ago  Hamid

Different download limits for level 1 members

By:  Simeon Musengimana in: Community Forum

voices: 2
replies: 2

4 years, 2 months ago  Simeon Musengimana

Prorated Upgrade

By:  Hamid in: Community Forum

voices: 3
replies: 16

4 years, 3 months ago  Eduan

Address Fields

By:  Hamid in: Community Forum

voices: 2
replies: 5

4 years, 3 months ago  Raam Dev

Adding custom capability to existing members

By:  Hamid in: Community Forum

voices: 3
replies: 4

4 years, 4 months ago  Cristián Lávaque

Editing core s2member css

By:  Hamid in: Community Forum

voices: 2
replies: 4

4 years, 5 months ago  Raam Dev

s2Member & JW Player – Video Stalls

By:  Mary May in: Community Forum

voices: 6
replies: 23

4 years, 5 months ago  Cristián Lávaque

Success (Thank-You) Page

By:  Hamid in: Community Forum

voices: 2
replies: 8

4 years, 6 months ago  Raam Dev

Setting Up A Membership Scheme

By:  Hamid in: Community Forum

voices: 2
replies: 1

4 years, 6 months ago  Cristián Lávaque

Email Confirmation

By:  Hamid in: Community Forum

voices: 2
replies: 3

4 years, 6 months ago  Cristián Lávaque

Points or Credits System

By:  Hamid in: Community Forum

voices: 2
replies: 3

4 years, 6 months ago  Raam Dev

Special access regardless of membership level

By:  Hamid in: Community Forum

voices: 2
replies: 1

4 years, 6 months ago  Raam Dev

Viewing 22 topics - 1 through 22 (of 22 total)

Topics I've Started

Viewing 15 topics - 1 through 15 (of 15 total)
Topic Count Last Reply
Solution for Demotion at EOT Not Affecting CC

By:  Hamid in: Community Forum

voices: 2
replies: 2

3 years, 7 months ago  Hamid

Using Pro BillingCancelation Form Shortcode

By:  Hamid in: Community Forum

voices: 3
replies: 3

3 years, 11 months ago  Jason (Lead Developer)

Can Users Delete Their Account?

By:  Hamid in: Community Forum

voices: 3
replies: 7

3 years, 11 months ago  Hamid

Custom Form Requires Creation of Paypal Acct

By:  Hamid in: Community Forum

voices: 2
replies: 4

3 years, 11 months ago  Hamid

Force download

By:  Hamid in: Community Forum

voices: 3
replies: 10

4 years, 2 months ago  Hamid

Changing Member Level Number to Level Label

By:  Hamid in: Community Forum

voices: 2
replies: 10

4 years, 2 months ago  Hamid

Prorated Upgrade

By:  Hamid in: Community Forum

voices: 3
replies: 16

4 years, 3 months ago  Eduan

Address Fields

By:  Hamid in: Community Forum

voices: 2
replies: 5

4 years, 3 months ago  Raam Dev

Adding custom capability to existing members

By:  Hamid in: Community Forum

voices: 3
replies: 4

4 years, 4 months ago  Cristián Lávaque

Editing core s2member css

By:  Hamid in: Community Forum

voices: 2
replies: 4

4 years, 5 months ago  Raam Dev

Success (Thank-You) Page

By:  Hamid in: Community Forum

voices: 2
replies: 8

4 years, 6 months ago  Raam Dev

Setting Up A Membership Scheme

By:  Hamid in: Community Forum

voices: 2
replies: 1

4 years, 6 months ago  Cristián Lávaque

Email Confirmation

By:  Hamid in: Community Forum

voices: 2
replies: 3

4 years, 6 months ago  Cristián Lávaque

Points or Credits System

By:  Hamid in: Community Forum

voices: 2
replies: 3

4 years, 6 months ago  Raam Dev

Special access regardless of membership level

By:  Hamid in: Community Forum

voices: 2
replies: 1

4 years, 6 months ago  Raam Dev

Viewing 15 topics - 1 through 15 (of 15 total)

My Latest Replies (From Various Topics)

Viewing 25 replies - 1 through 25 (of 61 total)
Author Replies
Author Replies
Posted: Tuesday Jun 4th, 2013 at 7:39 am #51315
Hamid
Username: zawiyaprojects

I don’t know how I missed that. I looked through all the options before posting my question. Sorry about that and thanks for replying.

Posted: Saturday Feb 9th, 2013 at 11:45 pm #41292
Hamid
Username: zawiyaprojects

Sweet plugin Potsky, very nice.

Thanks for providing it.
Hamid

Posted: Wednesday Jan 30th, 2013 at 3:45 am #39989
Hamid
Username: zawiyaprojects

Thanks for your reply Bruce but I think you may have misunderstood.

I want the messages that appear TO appear to the users, regardless of membership type (the way it currently does).

What I don’t want to appear is the text that is displayed under these messages; namely, the Confirm Cancellation text and the Submit button.

Here is what currently gets displayed to a non-recurring member:
————-

Nothing to cancel. You have NO recurring fees.

Confirm Cancellation

Submit Button

————–

What I am looking for is if a user has “nothing to cancel” then I simple want to hide the “submit button” and “confirm cancellation” text. But if they CAN cancel recurring payments then the submit button and confirm cancellation text should appear. I hope it is clear now.

Thanks

Posted: Saturday Jan 26th, 2013 at 9:26 am #39686
Hamid
Username: zawiyaprojects

You could use the following:

<?php echo "Member Since: " . date('M j, Y', S2MEMBER_CURRENT_USER_REGISTRATION_TIME); ?>
Posted: Friday Jan 25th, 2013 at 3:34 pm #39546
Hamid
Username: zawiyaprojects

Thanks Bruce. I’m loving this s2member!

Posted: Friday Jan 25th, 2013 at 3:20 pm #39541
Hamid
Username: zawiyaprojects

Bruce, you rock… thanks so much for your multi-option solution.

I ended up going with the last option because I want to use our custom image AND I don’t want “prorated upgrades” to be recurring.

Thanks again, I can finally let this rest and move on to other tweaks :)
Hamid

Posted: Friday Jan 25th, 2013 at 2:40 pm #39530
Hamid
Username: zawiyaprojects

Andrew, I found it… please see code below.

In my member’s option page I have some conditions to qualify the user’s member level. In this example if a free member goes to the member’s option page, he/she is presented with a custom Paypal button to upgrade to Premier. Normally the button would appear under the browser window (making it non-visible to the user unless they scrolled down). The s2member generate code looked like this:

<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
 <input type="hidden" name="business" value="paypal@domain.com" />
 <input type="hidden" name="cmd" value="_xclick" />
 <!-- Instant Payment Notification & Return Page Details -->
 <input type="hidden" name="notify_url" value="http://www.domain.com/?s2member_paypal_notify=1" />
 <input type="hidden" name="cancel_return" value="http://www.domain.com/" />
 <input type="hidden" name="return" value="http://www.domain.com/?s2member_paypal_return=1" />
 <input type="hidden" name="rm" value="2" />
 <!-- Configures Basic Checkout Fields -->
 <input type="hidden" name="lc" value="" />
 <input type="hidden" name="no_shipping" value="1" />
 <input type="hidden" name="no_note" value="1" />
 <input type="hidden" name="custom" value="www.domain.com" />
 <input type="hidden" name="currency_code" value="USD" />
 <input type="hidden" name="page_style" value="paypal" />
 <input type="hidden" name="charset" value="utf-8" />
 <input type="hidden" name="item_name" value="Upgrade to Premier Member for only 79.95" />
 <input type="hidden" name="item_number" value="2::1 Y" />
 <!-- Configures s2Member's Unique Invoice ID/Code  -->
 <input type="hidden" name="invoice" value="<?php echo S2MEMBER_VALUE_FOR_PP_INV(); ?>" />
 <!-- Identifies/Updates An Existing User/Member ( when/if applicable )  -->
 <input type="hidden" name="on0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON0; ?>" />
 <input type="hidden" name="os0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS0; ?>" />
 <!-- Identifies The Customer's IP Address For Tracking -->
 <input type="hidden" name="on1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON1; ?>" />
 <input type="hidden" name="os1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS1; ?>" />
 <!-- Controls Modify Behavior At PayPal® Checkout -->
 <input type="hidden" name="modify" value="1" />
 <!-- Customizes Prices, Payments & Billing Cycle -->
 <input type="hidden" name="amount" value="79.95" />
 <!--<input type="hidden" name="src" value="BN" />-->
 <!--<input type="hidden" name="srt" value="" />-->
 <!--<input type="hidden" name="sra" value="1" />-->
 <!--<input type="hidden" name="a1" value="0" />-->
 <!--<input type="hidden" name="p1" value="0" />-->
 <!--<input type="hidden" name="t1" value="D" />-->
 <!--<input type="hidden" name="a3" value="79.95" />-->
 <!--<input type="hidden" name="p3" value="1" />-->
 <!--<input type="hidden" name="t3" value="Y" />-->
 <!-- Displays The PayPal® Image Button -->
 <input type="image" src="https://www.paypal.com/en_US/i/btn/btn_xpressCheckout.gif" style="width:auto; height:auto; border:0;" alt="PayPal®" />
</form>

To fix this I did the following:

Step 1: I added the following style to my theme’s stylesheet (namely, style.css)

.movebtn { margin: -600px 0 0 0;}

Step 2: I edited the s2member’s Paypal button code as follows:

<p class="movebtn">
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
 <input type="hidden" name="business" value="paypal@domain.com" />
 <input type="hidden" name="cmd" value="_xclick" />
 <!-- Instant Payment Notification & Return Page Details -->
 <input type="hidden" name="notify_url" value="http://www.domain.com/?s2member_paypal_notify=1" />
 <input type="hidden" name="cancel_return" value="http://www.domain.com/" />
 <input type="hidden" name="return" value="http://www.domain.com/?s2member_paypal_return=1" />
 <input type="hidden" name="rm" value="2" />
 <!-- Configures Basic Checkout Fields -->
 <input type="hidden" name="lc" value="" />
 <input type="hidden" name="no_shipping" value="1" />
 <input type="hidden" name="no_note" value="1" />
 <input type="hidden" name="custom" value="www.domain.com" />
 <input type="hidden" name="currency_code" value="USD" />
 <input type="hidden" name="page_style" value="paypal" />
 <input type="hidden" name="charset" value="utf-8" />
 <input type="hidden" name="item_name" value="Upgrade to Premier Member for only 79.95" />
 <input type="hidden" name="item_number" value="2::1 Y" />
 <!-- Configures s2Member's Unique Invoice ID/Code  -->
 <input type="hidden" name="invoice" value="<?php echo S2MEMBER_VALUE_FOR_PP_INV(); ?>" />
 <!-- Identifies/Updates An Existing User/Member ( when/if applicable )  -->
 <input type="hidden" name="on0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON0; ?>" />
 <input type="hidden" name="os0" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS0; ?>" />
 <!-- Identifies The Customer's IP Address For Tracking -->
 <input type="hidden" name="on1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_ON1; ?>" />
 <input type="hidden" name="os1" value="<?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_OS1; ?>" />
 <!-- Controls Modify Behavior At PayPal® Checkout -->
 <input type="hidden" name="modify" value="1" />
 <!-- Customizes Prices, Payments & Billing Cycle -->
 <input type="hidden" name="amount" value="79.95" />
 <!--<input type="hidden" name="src" value="BN" />-->
 <!--<input type="hidden" name="srt" value="" />-->
 <!--<input type="hidden" name="sra" value="1" />-->
 <!--<input type="hidden" name="a1" value="0" />-->
 <!--<input type="hidden" name="p1" value="0" />-->
 <!--<input type="hidden" name="t1" value="D" />-->
 <!--<input type="hidden" name="a3" value="79.95" />-->
 <!--<input type="hidden" name="p3" value="1" />-->
 <!--<input type="hidden" name="t3" value="Y" />-->
 <!-- Displays The PayPal® Image Button -->
 <input type="image" src="/images/upgrade_to_prem_v2.gif" style="width:auto; height:auto; border:0;" alt="PayPal®" />
</form>
</p>

Notice I enclosed the button code in the

<p class="movebtn">

and I change the images src to a custom image instead of Paypal’s default button.

I hope this helps.
Hamid

Posted: Thursday Jan 24th, 2013 at 10:50 am #39413
Hamid
Username: zawiyaprojects

Update: I found a plugin called “Delete Me” that allow you to offer an account deletion option to your users (using shortcode on a page or post).

Still if someone can confirm the above two question, I would appreciate it :)

Hamid

Posted: Thursday Jan 24th, 2013 at 7:03 am #39385
Hamid
Username: zawiyaprojects

Andrew, my website has gone through so many custom modifications and themes that I can’t remember “exactly” what we ended up using. I cant remember if it was a theme issue or not, sorry for the vagueness, but if I remember correctly, we used something like this in the style.css stylesheet.

.movebtn { margin: -200px 0 0 0; }

then we found the page that was displaying the Paypal button and added this .movebtn class to Paypal button style. For example, if the Paypal button had

class="s2member-pro-paypal-submit s2member-pro-paypal-checkout-submit"

we added the movebtn class to the end it like so

class="s2member-pro-paypal-submit s2member-pro-paypal-checkout-submit movebtn"

Again, sorry for the vagueness but I hope I shed a little light on the problem.
Hamid

P.S. If I can dig up the css style I used, I will post it here. Or if you send me your url of the page in question, I will take a look at it.

Posted: Thursday Jan 24th, 2013 at 6:18 am #39366
Hamid
Username: zawiyaprojects

Thanks Jason. You brought up some points of clarification. Could you answer the following:

1.) When a paid member cancels their subscription, doesn’t it just cancel the recurring payment?

2.) If a paid member cancels their an annual subscription after two months of the payment date, doesn’t the EOT end in 10 months? At which time, we could set it up to automatically demote them to a free “subscriber”.

If the above answers are yes, perhaps we could give paid user the option to cancel their subscription and at the EOT demote them to free members. Then we could give any free subscribers the option (in our members options page) to “delete” their account using

<?php wp_delete_user( $id); ?> 

But (I’m not a programmer) how does that give the user the “option” to delete their account?

Sorry for my lack of knowledge here.
Hamid

Posted: Thursday Jan 24th, 2013 at 4:50 am #39330
Hamid
Username: zawiyaprojects

Thanks Bruce,

I tried the modified code but I still get the same results. I have some screen shots but didn’t see a place to add them.

Basically, a user get redirected to Paypal where it say “Log in to complete your checkout.” There are two option available: 1.) Pay fast with Paypal 2.) No Paypal account? Pay using your debit or credit card.

If you select option 2, you are then presented with page with two options: 1.) I already have a Paypal account. 2.) I need to create a Paypal account (where available). Option 2 provides the fields for the credit card information but one must also create a Paypal account :(

Any other suggestions?

Thanks

Posted: Wednesday Jan 23rd, 2013 at 2:36 pm #39211
Hamid
Username: zawiyaprojects

Hello Andrew, it has to do with the hidden fields in the form. I remember having the same problem and I ended up using css to pull the button back up.

Hamid

Posted: Wednesday Jan 23rd, 2013 at 2:12 pm #39202
Hamid
Username: zawiyaprojects

Hello JD

Are you talking about canceling the recurring payments? If so, I remember reading something about this in this forum.

Go to your Dashboard >> S2Member >> PayPal Pro-Forms >> Paypal Pro Billing Cancellation Forms

Basically it says you should supply your members with a cancellation form by using the shortcode:

[s2Member-Pro-PayPal-Form cancel="1" desc="This will cancel your account. Are you sure?" captcha="0" /]

s2member takes care of the rest (behind the scenes) once the form is submitted.

Hamid

Posted: Monday Dec 3rd, 2012 at 4:03 am #33277
Hamid
Username: zawiyaprojects

No dice… I removed the recurring charges but it still requires that one set up a Paypal account.

Posted: Monday Dec 3rd, 2012 at 3:44 am #33275
Hamid
Username: zawiyaprojects

Thanks Bruce for your reply. Just knowing it may be a few months before the next release helps a GREAT deal in our ability to move forward with an alternative or “temporary” solution.

I have to admit I was up until 3:00 am last night looking for other membership plugins that would accept Stripe. There are a couple out there but they don’t stand up to s2member. Fortunate or unfortunate depends which side of the fence your standing :)

Going Pro might be the best solution for us for the time being, even if it ends up costing us $180.

Thanks Frank for your reply also. I knew that you could use cc with Paypal without creating an Paypal account but we had modified some code to allow paid members to upgrade to higher-level subscription at a prorated fee (based on the remaining days of their current membership)… so yes, it is subscription based.

Oh… Bruce your word just registered in my mind. Do you mean if we removing the recurring charge option, members would be able to use cc without setting up a Paypal account?

Going to test now…

Posted: Sunday Dec 2nd, 2012 at 6:21 pm #33247
Hamid
Username: zawiyaprojects

Hello Raam and Cristian,

I’ve been working on my s2member site for a few months now and I believe I have most things in place for our release date of Jan 1, 2013. I love s2member and I thank you for doing such a wonderful job with it… however, I find myself up a creek and I have just lost my paddles (i.e. forcing potential buyers to create a Paypal account when using a credit card)

I’ve read other inquiries (from Mar to Nov) about the availability of Stripe payment gateway and the integration of Paypal Advance in the next major release. I understand that it should be rolling out “soon” and that you cant say exactly when but do you think either one of these payment alternatives will happen before the new year?

It would be nice to have a “clue” so that I can plan accordingly, postpone our release date or upgrade to Pro, which I don’t really want to do. I mean, I would really hate to postpone our release date, if we are still talking a coupe months; and would hate to upgrade to Paypal Pro, if we are talking around the corner.

Thanks.

Posted: Thursday Nov 8th, 2012 at 8:36 am #31021
Hamid
Username: zawiyaprojects

I looked into this deeper… it appears you can add a .htaccess file to the root of your bucket or change the header (something something) to force file downloads from Amazon but I couldn’t get anything to work.

In any case, I have turned off cloudfront for now.

Posted: Tuesday Nov 6th, 2012 at 7:38 am #30766
Hamid
Username: zawiyaprojects

Yes I had tried other browsers. Firefox, Chrome and Opera all behaved the same (ie playing file in browser instead of downloading).

Posted: Tuesday Nov 6th, 2012 at 1:46 am #30742
Hamid
Username: zawiyaprojects

Cristian, it was blank initially (default setting) then I added a single entry for PDFs.

Oh and Eduan, I had followed that knowledge base previously and still had problems downloading files. That’s why I think it has something to do with cloudfront.

  • This reply was modified 4 years, 2 months ago by  Hamid.
Posted: Sunday Nov 4th, 2012 at 12:23 pm #30592
Hamid
Username: zawiyaprojects

Eduan, you got me thinking about this and so I turned off cloudfront and I am now able to download the mp3 files directly to my computer (instead of playing them within the browser).

Is this normal behavior when cloudfront is configured?

Posted: Sunday Nov 4th, 2012 at 11:43 am #30591
Hamid
Username: zawiyaprojects

Hello Eduan,

Here is my shortcode:

<a href="http://mydomain.com/?s2member_file_download=Sounds/Test.mp3">Download Test</a>

What happens when I click on the link is that I am redirected to the cloudfront url which then plays the sound file in the browser.

Posted: Friday Nov 2nd, 2012 at 8:26 am #30433
Hamid
Username: zawiyaprojects

Sweet, thanks Cristian. As a newbie, it really helps from a programming point of view.

Posted: Wednesday Oct 17th, 2012 at 5:16 am #28645
Hamid
Username: zawiyaprojects

Thanks Cristian,

I’d be interested in knowing how you would have coded it to achieve the same results… it would help a great deal in learning php, WordPress and s2member.

I tried to clean up the code but I keep breaking it. Not sure what I’m doing wrong.

  • This reply was modified 4 years, 2 months ago by  Hamid.
Posted: Tuesday Oct 16th, 2012 at 12:54 am #28495
Hamid
Username: zawiyaprojects

Thanks Cristian, it helped a lot :)

I’ve started trying to learn PHP and I’m not 100% sure whether this is the “best” syntax (although it does work).

In any case, here is the modified code that checks if a page is restricted by ccaps first, then it checks to see if it is restricted by member level.

function s2hack_membership_options_vars( $atts ){
if(isset($_GET['_s2member_req'][ccap])) {
        $s2_caps = $_GET['_s2member_req'][ccap];

        if(!empty($s2_caps))
                return '<center><img src="/images/oops.gif"><br><strong>Sorry, this page is restricted. You need "' . $s2_caps . '" access to view it.</strong></center>';
 }

else $s2_seeking = $_GET['_s2member_seeking'];
        $s2_level   = $_GET['_s2member_req'];

        if(!empty($s2_seeking['page']))
                $content = 'page';
        elseif (!empty($s2_seeking['post']))
                $content = 'post';
        if(!empty($s2_level['level']))
                $req = $s2_level['level'];
                        if ($req=='1')
                           $s2_label='a Plus';
                        elseif ($req=='2')
                           $s2_label='a Premier';
        else
                $s2_label = 'at least a free';

        return '<center><img src="/images/oops.gif"><br><strong>Sorry, this ' . $content . ' is restricted. You need ' . $s2_label . ' subscription to access it.</strong></center>';
 }
add_shortcode( 'membership_options_vars', 's2hack_membership_options_vars' );

Is this acceptable or could it be written better?

Posted: Monday Oct 15th, 2012 at 2:32 am #28399
Hamid
Username: zawiyaprojects

OK guys, I really need your help now.

The above works for levels but NOT for ccaps assigned to a page or post.

How can I get it to check the member level first, then check if the user has the ccap. If not, then error message should say,

“Sorry, this page is restricted. You need ‘Music’ capability in order to access it”.

Thanks

Viewing 25 replies - 1 through 25 (of 61 total)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.