Other – kapn*net https://kapn.net Wed, 18 Jun 2025 18:48:45 +0000 en-US hourly 1 https://kapn.net/wp-content/uploads/2023/12/cropped-kapn-net-star-whiteBG-32x32.png Other – kapn*net https://kapn.net 32 32 Signing up and booking space https://kapn.net/support/signing-up-and-booking-space/ Wed, 18 Jun 2025 18:47:57 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=876 […]]]>

Welcome to the community at 10 King Chambers. If you have made the decision to become a Professional Address client to take advantage of using our address and space here at the chambers, this will help you get started.

Signing up

You can follow the “get started” buttons on our website or jump right in at portal.10king.ca. Once there, you’ll click the “become a member” button and fill in your basic information.

On the next screen, you’ll choose your plan. Unless you want a full time office, you’ll choose Professional Address or Professional Address with quarterly billing. You will need to accept the terms and conditions and select a start date. Probably best to choose a date at least a few days in the future so we have a chance to work through your approval, but if you’ve already agreed on a start date with us, go ahead and pick that and then click the “Join” button.

You will then see the account summary. The first invoice will be pro-rated unless you chose to start on the 1st of the next month.

Click “continue to payment” and you are done. We do not take credit card payments for this service, so you will need to remit your payment via Interac e-mail transfer to “office@10king.ca”.

Your account is not yet active until we approve your account. That should happen within a day, but if you need a faster response, you can email office@10king.ca.

When you are logged in to the portal, your landing page is the dashboard.

At the bottom is a box labelled plans and benefits, but they are presented in a confusing way there. It may look like you are not subscribed and are being encouraged to “Join a plan”. Before you click that button, please click the “view all” in the top right corner of the “Plans and Benefits” box. I think you will find that your plan is on the resulting summary page unless you didn’t complete that step.

To view and download your invoices, click on the “Unpaid Invoices” link on the dashboard.

You may see a note that “We need your payment details to complete your application.” Don’t be concerned. This is just the platform looking for credit card info that we don’t use. Unless you hear otherwise directly from us, there is nothing to worry about. If you do need to update your email or billing address, you can do that in the “Profile” area in the menu behind your name in the top right.

Booking space

To book a space for yourself to work or to meet a client or colleague, use the “Make a Booking” button on the dashboard.

The resulting booking screen has many options and filters that are too numerous to go into here, but I think you will find it fairly intuitive.

Each PA account includes $75 of booking credit and you will see that reflected in the charges until it is used up. In the image below, I have booked a day office for a full day ($79 at the time of writing) and the entire credit has been applied against it, leaving a balance of $4 + HST. That amount will be billed on your next invoice. As you see, you can either “Confirm booking” to book this one and be done, or add it to a cart to make multiple bookings at once.

Slightly confusingly, the sidebar entry “Bookings” is only for making new ones, not viewing existing bookings. You should always return to the dashboard to see what you have booked or other things about your account. You can also change your booking from its entry in your dashboard.

Passport App

You can book resources through the 10 King Members Portal, but you may find the Nexudus Passport app on your Android or iPhone device even more convenient.

The Passport app can do everything that the Member Portal can, but stays logged in on your phone for easier access. The basic layout is similar to the portal, but with a cleaner interface.

The Dashboard shows all your upcoming and due items. The Bookings tab lets you book the various spaces we have.

]]>
re-mounting your lost network drive https://kapn.net/support/re-mounting-your-lost-network-drive/ Wed, 14 May 2025 16:46:33 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=867 […]]]> If this is happening regularly, we need to troubleshoot, but sometimes these things drop for no clear reason and then are fine again after being re-established. This article is really a brief take for my own clients. You’ll find much more complete information on net use elsewhere on the Internet.

An easy first try

The first thing to do is to go to “This PC”. You’ll see a link in the sidebar of File Explorer:

On the “This PC” page, you should see your mapped drive(s) listed under “Network locations”. However, since you’re reading this, I assume they’re either broken or missing. If the mapped drive is visible but broken, let’s try to re-connect first. Double-click on the broken drive map. If you are prompted for a username and password, go ahead and give it a try. If you get any message other than a login prompt, move on to the next step. If you get a login prompt, but it doesn’t work, then you can try the next step, but it may be your login that’s an issue and you’ll need to talk to your network administrator (presumably me) to resolve it.

A more complex, but more certain approach

Open a Windows command line prompt (type “cmd” in the Windows search bar):

Type “net use” into the command prompt that opens. You’ll either get a list of network resources or a message that there are none but that “new connections will be remembered:

If you see your drive mount there, but failed to reconnect in the previous step, let’s delete it first. Change “h:” for whatever the relevant drive letter is for you:

net use /del h:

Now if you run net use again, it should be missing from the list. Repeat for any other drive you need to re-mount. if there is an entry ending in IPC$ with a server path that matches your bad mount, you will probably want to delete that too:

net use \\servername\IPC$ /del

You’re now ready to try to remount. You’ll want to use the following full command, especially if using the graphical login failed in the first step at the top of this article. You will, of course, need to change most parts of this command to match you mount information and your username. You will be prompted for your password after you run the command. If you prefer, you may add your password at the end of this command so you can see it clearly and to avoid a second step.

net use y: "\\servername\Mount Name" /user:uname@server.local

If you’re getting into more errors, then I guess it’s time to give me a call.

]]>
Create a contract proposal in Nexudus https://kapn.net/support/create-a-contract-proposal-in-nexudus/ Wed, 26 Oct 2022 18:48:47 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=711 […]]]> When we have a new client to invite and get a contract for, this is the procedure to follow.

First, log in to our Nexudus dashboard.

Navigate to the CRM section, and choose “Proposals” from the boxes in the main page area.

Click on the “+ Add proposal” button

Enter the new customer name in the customer field. Assuming the customer doesn’t exist, hit enter to add the customer to our system.

You’ll get a new pop-up that allows you to add the email as well. Don’t send a welcome email as we will send the contract as our first email.

We must then choose the Plan. In this case we are creating a Professional Address proposal. Choose the start date for the Plan.

Now we will switch tabs from the Proposal tab to the Documents tab. This lets us include the full contract and not just a service summary. Click into the “Attached document template” field and choose the appropriate document.

Save changes and switch back to the proposal tab. Use the “Notes” field to add any message you would like to add to be sent to the new client. You can use the “Preview” link to see what the customer will see.

Once you are ready to send, use the “^ More actions” button at the bottom of the page to send the proposal to the customer. You can also “Create proposal document” to get a pdf of the contract for signing in person or to send on a personal email from you.

]]>
Editing automatic emails in Moodle https://kapn.net/support/editing-automatic-emails-in-moodle/ https://kapn.net/support/editing-automatic-emails-in-moodle/#respond Thu, 06 Oct 2022 17:11:49 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=697 […]]]> The email content is all contained in language packs strings and needs to be changed using that system. The way to get there is this:

  1. Site Administration -> General -> Language -> Language customisation
  2. Choose the language you want to edit
  3. Choose “open language pack for editing”
  4. For basic strings you will choose moodle.php from the core section of the components box
  5. If you know the identifier then you will put it in the “String identifier” box and press “Show strings”; OR
  6. If you don’t know the identifier, you’ll want to take a stab at the content of the string and use the “Only strings containing” box to search the content for the string you are looking for.

If you’re doing a hopeful content search, you’ll probably need to sift through a lot of content to find what you need. Once you find it, you’ll want to jot down the identifier for future reference.

Note that the default string given does not include line feeds when you copy paste it, so you’ll need to reformat to match your desired output.

If you have more than one language installed, make sure you use the identifier to edit those other language packs as well.

Useful identifiers

  • Welcome email (core/moodle.php) – emailconfirmation
  • Course registration (core/moodle.php) – welcometocoursetext
  • Password reset (core/moodle.php) – emailresetconfirmation
  • Lost password (core/moodle.php) – forgotaccount
  • Account login from new device (core/moodle.php) – newloginnotificationbodyfull
  • Certificate emails (mod/customcert.php) – emailnonstudentbody, emailnonstudentbodyplaintext, emailstudentbody, emailstudentbodyplaintext

Some others here: https://lewiscarr.co.uk/2016/03/language-customisations-for-moodle-emails/

]]>
https://kapn.net/support/editing-automatic-emails-in-moodle/feed/ 0
Set up your wordpress site on dokku https://kapn.net/support/set-up-your-wordpress-site-on-dokku/ Fri, 21 May 2021 15:49:16 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=609 […]]]> This is mostly cribbed from Jasmine Tracey’s excellent post at dev.to. There were a couple things that needed to be added and some local tweaks for me, so I put this here for my own reference. The most critical thing is the need for SSL settings in wp-config.php. I have enough sites that I should move to this model, that I may script it to save steps (I tried, but I don’t think I have enough sites to make it worth solving all the problems that scripting this generates). To speed re-use, I have put the commands/steps needed for re-deployments of existing sites in red.

Creating or migrating a WordPress site to Dokku

DNS prep

We need to prep for the ssl cert and final move by ensuring the DNS has a short TTL to allow for a quick dns change at the end.

Create the app and database

In your dokku terminal run the following command to create your app. I will be using testapp as my app name feel free to use another name. If you will be creating an app at a specific FQDN (app.kapn.net), use that as the app name. Otherwise the web address will be a subdomain of the server address.

Additionally, add other domains that might be used to access the website.

dokku apps:create testapp.tld
dokku domains:add testapp.tld domain.tld
dokku domains:add testapp.tld add.domain.tld

If you run dokku apps:list you should see your newly created application.

Now will install the mariadb plugin, create a database and link it to our app so that it has access to it. I found that the default Mariadb settings would hang forever on ‘waiting for container to be ready‘ and so I used the instructions here to add a specific, known working, mariadb version. Probably worth trying the mariadb:create command without the -i flag and everything following to see what happens.

# Install app
sudo dokku plugin:install https://github.com/dokku/dokku-mariadb.git mariadb

# Create database
dokku mariadb:create testappdb -i mariadb -I 10.4.17

# Link database to app
dokku mariadb:link testappdb testapp.tld

Setting up application storage on dokku server

I trimmed this down from the three directories that Jasmine used (themes, plugins, uploads). Maybe that’s a bad call, but I think it works.

# Create the folders (might require sudo)
sudo mkdir -p /var/lib/dokku/data/storage/testapp.tld/wp-content

# Change the permission (might require sudo)
# it's 32767 because that's what dokku needs. Not sure why
sudo chown 32767:32767 /var/lib/dokku/data/storage/testapp.tld/wp-content

# Mount the storage to the container
dokku storage:mount testapp.kapn.net /var/lib/dokku/data/storage/testapp.tld/wp-content:/app/wp-content

# if the container has already been deployed, then it'll have to be restarted
dokku ps:restart testapp.kapn.net

If we are migrating a site, we’ll need to inject the sql dump file into the new db:

dokku mariadb:import testappdb < testapp.dump.sql

Creating a local wordpress instance (or moving an existing one)
and pushing it to dokku

On your local machine clone the wordpress github project. Or fetch your archive of an existing site.

# Download and unzip wordpress files
curl -LO https://wordpress.org/latest.zip
unzip latest.zip
OR
rsync sitearchive_MWP_12345678.zip user@servername.tld:
ssh user@servername.tld
mkdir working_directory
cd working_directory
unzip sitearchive.zip

# Change directory to downloaded project
cd wordpress

# Download wordpress gitignore file
curl https://raw.githubusercontent.com/github/gitignore/master/WordPress.gitignore > .gitignore

# Initialize repository and make initial commit 
git init
git add .
git commit -m "Initial commit of wordpress files"

We are going to update the values of our config file so it knows to look for the dokku environment variables. Edit wp-config.php. Then update the following sections. This is slick, thanks, Jasmine.

// ** MySQL settings - You can get this info from your web host ** //
$url = parse_url(getenv("DATABASE_URL"));

$host = $url["host"];
$username = $url["user"];
$password = $url["pass"];
$database = substr($url["path"], 1);

/** The name of the database for WordPress */
define( 'DB_NAME', $database );

/** MySQL database username */
define( 'DB_USER', $username );

/** MySQL database password */
define( 'DB_PASSWORD', $password );

/** MySQL hostname */
define( 'DB_HOST', $host );

We also want to change authentication keys and salts so go to https://api.wordpress.org/secret-key/1.1/salt/ copy and paste the generated salts in the wp-config.php file replacing the following:

define( 'AUTH_KEY',         'put your unique phrase here' );
define( 'SECURE_AUTH_KEY',  'put your unique phrase here' );
define( 'LOGGED_IN_KEY',    'put your unique phrase here' );
define( 'NONCE_KEY',        'put your unique phrase here' );
define( 'AUTH_SALT',        'put your unique phrase here' );
define( 'SECURE_AUTH_SALT', 'put your unique phrase here' );
define( 'LOGGED_IN_SALT',   'put your unique phrase here' );
define( 'NONCE_SALT',       'put your unique phrase here' );

One more change to wp-config.php and we’ll save it. This ensures that when we go SSL, the site doesn’t just immediately break. More details of why at supportmyidea.com.

/** Ensure ssl is detected and responded to appropriately */
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') {
    $_SERVER['HTTPS'] = 'on';
}

We also need to create a custom_php.ini file to improve some settings

upload_max_filesize = 128M
post_max_size = 128M
max_execution_time = 60
memory_limit = 512M

Now we need to tell dokku to use those settings when running the project to do that we will create a Procfile in the root of the project. Jasmine used Nginx, but I’m an old Apache guy.

web: vendor/bin/heroku-php-apache2 -i custom_php.ini

Commit and Push

Now we will commit and push our changes to our dokku server

# commit changes
git add .
git commit -m "updated config to work with dokku url"

# Add the dokku url to the downloaded project
# If your server is dokkuserver.com and your app is going to be 
# reached at testapp.kapn.net this would be:
git remote add dokku dokku@servername.tld:testapp.tld

# push changes
git push dokku master

Copy local files

This is why we created that mount earlier, so we can have persistent storage and a place to do updates as needed.

sudo rsync -avz wp-content/ /var/lib/dokku/data/storage/testapp.tld/wp-content/
sudo chown -R 32767:32767 /var/lib/dokku/data/storage/testapp.tld/wp-content

DNS switch

Change your website’s DNS A record to point at your dokku server.

Enable SSL

We are almost finished. To ensure we have a secure site, we will add https using lets encrypt

# Install plugin
sudo dokku plugin:install https://github.com/dokku/dokku-letsencrypt.git

# Set the global email
dokku config:set --global DOKKU_LETSENCRYPT_EMAIL=your@email.tld

# Setup cronjob to auto-renew certificates when they expire
dokku letsencrypt:cron-job --add

# Add https to site
dokku letsencrypt:enable testapp.tld

Testing

Go to your url application url in your browser you should see the installation page of your wordpress site. OR better still your migrated site.

]]>
CiviCRM Shortcodes for WordPress https://kapn.net/support/civicrm-shortcodes-for-wordpress/ https://kapn.net/support/civicrm-shortcodes-for-wordpress/#respond Tue, 11 Aug 2020 20:22:00 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=507 […]]]> The five possible components are:

  • Contribution: [civicrm component="contribution" id="x"] shows a contribution page specified by the id attribute.
  • Event: [civicrm component="event" action="register" id="x"] and [civicrm component="event" action="info" id="x"] shows either a registration or information page for the event specified by the id attribute.
  • User dashboard: [civicrm component="user-dashboard"] shows the current user’s dashboard page. There are no additional options. To identify what related information you have setup to be displayed within the user dashboard i.e. contributions, memberships, etc. navigate to Administer > Customize Data and Screens > Display Preferences and select all of the information you would like to have visible to the user.
  • Profile: [civicrm component="profile" mode="y" gid="x"] shows a page for displaying a user’s profile. This can be one of 4 modes – edit, view, create or search. The default is create. The gid attribute selects which profile group is displayed.
  • Petition: [civicrm component="petition" id="x"] displays a petition form specified by the id attribute.
  • Form Builder: [civicrm component="afform" name="x"] displays a Form Builder form (afform) page. Where x is the name given to the page, for example: afsearchMemberDirectory

Contribution and Event components can be put in test mode with mode="test"

In addition, any of these can specify a hijack option and they will replace all other content on that page rather than being display inline. This looks like hijack="1".

Force: A force attribute is mentioned in the code but I’m not clear what it does and have not tested it myself: force=1 means it will display the table, force=0 means it will display the search box for the table and you will see the results of the search for the table after you search.

I think force probably only relates to profiles which could have search results and have default values.


Mostly taken from drkane’s answer on civicrm.stackexchange.com with some bits from the official documentation: Using shortcodes to publish CiviCRM content in WordPress.

]]>
https://kapn.net/support/civicrm-shortcodes-for-wordpress/feed/ 0
Using the Polycom Trio w/ Teams https://kapn.net/support/how-to-use-the-polycom-trio-w-teams/ Mon, 10 Aug 2020 15:59:23 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=503 […]]]>
  • To initiate a meeting with someone else you press the “Meet Now” button. Because this device DOES NOT have a calling plan you cannot use the “Dial a Number” feature. 
    1. Choose the “Add” button.
    1. You will then be able to enter a number to phone out.
      1. You can also use the contacts button to phone people in the Conference Phone’s address book. 
    2. Once you’re on the call you can add participants, mute the phone, hang up, put the call on hold, see all the participants, and access the dialpad. 
    3. When you hang up the meeting will be ended for everyone. 
    4. Reminder: this phone does not have a calling plan so you must use the “Meet Now” button
    ]]>
    Discord chat & voice https://kapn.net/support/discord-chat-voice/ Mon, 25 May 2020 22:08:14 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=448 […]]]> Discord is a voice and text chat application that is lightweight, secure and popular with online gamers. It is a great choice for gathering online while you do something else online like a game or watching something together.

    It is possible to use Discord in your browser, but it’s better to download the desktop app. Download Discord from the website: https://discord.com/

    If your browser doesn’t automatically start the installer, you will need to run DiscordSetup.exe yourself after the download completes. It will likely be in your downloads folder.

    Once you run and install it, Discord will ask you to log in.

    Register

    You probably don’t have an account already, so choose the “Register” link under the big login button.

    You’ll then be on the registration page:

    Fill in your email address, create a username (best to use something your friends will recognaze), and a password.

    Join or create a server

    Once you are logged in, click on the invitation link you were sent. If the link doesn’t work, you can click on the Green plus sign on the left side of the Discord screen and choose “Join a server” and paste the link into the form.

    Click “Join now” or “Accept invite” and you will then be part of the server. You will automatically be joined to the #general channel for text chat. There will also be a Voice channel called general. This is a little confusing, but it can be renamed.

    If you are the one creating the space for your friends to join, then click the green plus sign at left and create a server by following the steps..

    Voice chat

    To join the voice chat, choose the voice channel and make sure your mic and speakers (or headphones) are working. Once you’re in you’ll see your name under the voice channel you chose. Many servers just have one voice channel and one chat channel.

    In the example below, the Voice channel has been renamed “Race Night”.

    ]]>
    CiviCRM WordPress Upgrade checklist https://kapn.net/support/civicrm-upgrade/ https://kapn.net/support/civicrm-upgrade/#respond Mon, 04 May 2020 19:03:39 +0000 https://kapn.net/?post_type=epkb_post_type_1&p=393 System […]]]> A quick list version of the upgrading doc at CiviCRM.org with a few personal notes.

    1. ssh to server
    2. ensure everything is backed up right now, not last night. This is normally handled automatically on a daily basis by ManageWP and also by a local msqldump process.
    3. Disable CiviCRM logging because of DB upgrade issues. Administer->System Settings->Misc
    4. Disable InnoDB full text search because of DB upgrade issues. Administer->Customize Data->Search Prefs
    5. cd to /var/www
    6. visit https://civicrm.org/download in a browser and get the download links
    7. download civicrm-….zip (and if needed, the localisation files.tar.gz) to somewhere convenient using wget
    8. cd to wp-content/plugins directory of site
    9. mv civicrm directory to /var/www/sitename/civicrm.bak (This is to backup what we have just in case of trouble and to get the existing one out of the way for the new code.)
    10. unzip civicrm-….zip to plugins directory
    11. IF NEEDED: cd to civicrm directory and tar xvzf civicrm…_l10n.tar.gz
    12. cd to wp-content/uploads/civicrm/templates_c and delete everything inside templates_c
    13. upgrade the database by visiting /wp-admin/admin.php?page=CiviCRM&q=civicrm/upgrade&reset=1
    14. re-enable logging if needed
    15. re-enable InnoDB full text search if needed
    16. may need to www-unlock and www-lockdown once or twice to correct permissions.
    17. confirm site function
      1. test a contribution form
      2. test a mailing
      3. test public pages

    ]]>
    https://kapn.net/support/civicrm-upgrade/feed/ 0