Technical Knowledge Base

I. Document control

Version

Note

Date

Version

Note

Date

1.0.0

Init document

04 Mar 2021

1.0.1

Update product type section

01 May 2021

1.0.2

Update Technical issues and Verotel

29 Sep 2021

1.0.3

Add CCBill cancelation section

30 Sep 2021

1.0.4

Add style question point

26 Oct 2021

1.0.5

Ad banner size

08 Nov 2022

1.0.6

Custom script

13 Sep 2023

2.0.0

Logo size

18 Nov 2023

II. General Questions

1. How to configure email

xFans provides 2 sections in the Admin settings for email

  • Email tab

    • Admin email: Email address for who will receive notification from system and contact form

    • Sender email: Email address for who will send the email in system

  • SMTP tab

    • Host: enter SMTP host eg smtp.google.com

    • Port: SMTP port eg 465

    • Auth user: SMTP username

    • Auth password: SMTP password

    • Secure option: Enable if use port 465

Note:-

  • You can use format “your name” <email-address> to admin email and sender email. Eg

  • xFans provides SMTP method for email only, almost services provide SMTP config, please check with your service and common list in our document.

2. How to add Google analytics code

Go to Admin panel > Settings > System settings > Google Analytics and enter your GA code.

Note: GA code usually is formatted with G-xxxxxxxxxx

3. How to add custom script

Go to Admin panel > Settings > System settings > SEO > Custom. There are 2 section you can enter your custom script

  • Custom header script: website will render this content in the <head> tag

  • Custom body script: website will render this content before </body> tag

Note:-

  • You can enter your GA script to one of these sections

  • Make sure you entered valid HTML or Javascript script. Otherwise it might break the system

4. How to update or change style

xFans does not provide option to change layout or style in the admin panel. However if you want to custom there are 2 solutions

  • Change style from source code (recommend this)

  • Or inspect element in xFans HTML code and get CSS class name or section then update your style to “Custom header script” section.

5. How to setup xFans payment gateway

xFans just supports these payment gateways.

a. CCBill

  • Go to Admin > Settings > System settings > CCbill and enter CCBill information in the form

  • CCBill webhook URL: https://[xFans-v2-api-domain]/payment/ccbill/callhook (eg https://api.xFans.info/payment/ccbill/callhook)

  • Approval URL: redirect link to your website after purchased successfully. You can enter https://[xFans-front-office-domain]/payment/success (eg https://xfans.info/payment/success)

  • Cancel URL: Redirect link after user cancelled or purchased unsuccessfully. You can enter https://[xFans-front-office-domain] (eg https://xfans.info/)

  • Check for CCBill setup here

b. Verotel Flexpay (since v2.1.4)

  • Go to Admin > Settings > System settings > Payment settings and enter Verotel credentials there

  • Verotel webhook URL: https://[xFans-v2-api-domain]/payment/verotel/callhook (eg https://api.xFans.info/payment/verotel/callhook)

  • Success URL: It is redirect pay after payment successful. You can enter https://[xFans-front-office-domain]/payment/success (eg https://xfans.info/payment/success)

  • Check for Verotel setup here

c. Other Payment Gateways

Please contact us for custom requirements.

Go to Admin panel > FE Menu. Here you can see the list and create or update existing menu.

xFans provides only option to change footer menu for now

  • From system page: FE will reload custom script file if it is system url. if enable you can select list of static pages too

  • Is new tab: open link in a new tab once clicking on

  • Title: menu text

  • Path: link to the page (you can enter full url here if it is not system page)

  • Section: where we will show the menu

  • Ordering: enter sort number of menu item in the list

7. SMTP common list and setup

Sendgrid

  • Host: smtp.sendgrid.net

  • Port: 465 / 587

  • Auth user: the string apikey. This setting is the exact string "apikey" and not the API key itself.

  • Auth password: your Sendgrid API key eg: SG.xxxxx

Gmail

M3 service

  • Host: m3 host url eg v2010004s.m3xs.net

  • Port: 587

  • Auth user: email username account or M3 FTP master account

  • Auth password: your email password or M3 FTP master password

8. What are product types on xFans

xFans provide 2 product options

  • Physical product - Physical item such as mobile device, DVD disk, etc…

    • model has to ship to user once having an order

    • model is able to update shipping code, delivery status is needed in the control panel

  • Digital product - Digital item such as photo, video or audio file

    • user purchases digital item will receive email notification with download link of digital item

    • model doesn’t need to manage order status, it is completed once user purchased successfully.

9. How can user cancel unsubscribe a model?

Our system supports to cancel CCBill subscription for now.

  • In user: Login and check subscription tab and click on Cancel subscription button

  • In admin panel

    • Setup CCBill Datalink Service username and Datalink Service password in the Settings > CCBill

    • username could be found in the Log in to CCbill admin panel -> Account Info -> Data link services suite

    • password could be found in the link https://admin.ccbill.com/megamenus/ccbillHome.html#AccountInfo/DataLinkServicesSuite(234)

  • Important: For your ccbill account, please provide IP ranges that we should add in Datalink, for additional details, you may see our API guide, which also contains the list of other error codes and their explanation.

10. Banner & Logo sizes

  • Slider banner: 1257 x 314

  • Login Placeholder: 1086 x 1866

  • Site Logo: 300 x 87

  • Favicon: 16 x 16

III. Technical Questions

1. How does xFans storage asset files such as videos and images?

xFans supports Local storage (single machine) for now. We use nginx http_auth_module to protect assets. The download link usually is available in 4h, and have integrated business rules in our application.

2. Does xFans support S3 (Simple Storage Service) services like AWS S3 or Digital Ocean Space?

xFans supports local storage for now. If need S3 service you can customize our File module or contact for customization

3. Does xFans support FTP file server?

xFans supports local storage for now. If need FTP service you can customize our File module or contact for customization

4. Can we deploy xFans to AWS EC2?

Yes, xFans is able to be deployed to any VPS server, include AWC EC2

5. Does xFans support Kubernetes?

We have not supported for application container image in our script yet. So you have to create image eg with Docker and deploy application to Kubernetes. Or contact us for a customization.

6. Does xFans support Docker?

For now xFans does not provide Docker image yet. We will provide in future release.

7. Is xFans using CI/CD in our dev process?

Yes, we are using Jenkins for this purpose

8. How can we deliver the update efficiently?

We provide full source code, so you can do implementation if you want. Or we can provide Docker image for your customizations

9. How can we change style (CSS)?

We use less (https://lesscss.org/ ) to manage stylesheet. From source code you can

  • Check style folder, here we define common style rules in the global.less, responsive.less, vars.less

  • For separate component you can check related files in the components > component name > .less file. example to manage header, you can check components > common > layout > header.less