Forum Replies Created

Viewing 15 replies - 16 through 30 (of 58 total)
  • Also curious about your rewrite rules and how you prevented /wp-admin requests from being cached.

    @everton: What settings did you end up using for LiteSpeed Cache? How is it working for you?

    Thread Starter skippybosco

    (@skippybosco)

    Thanks. Just sent you an email.

    Regarding “exclusive” to my website.. I assume you will retain all rights and ownership of the module and are welcome to release/distribute it at your discretion.

    Thread Starter skippybosco

    (@skippybosco)

    Understood. Thanks for the follow up.

    Thread Starter skippybosco

    (@skippybosco)

    ??

    I actually would like to donate some funds to you for making such a great plugin available. Would you be open to me paying you for the development of the new module to help increase the priority?

    Thread Starter skippybosco

    (@skippybosco)

    A follow up to this as I found another anomaly which may indicate the issue is with the multisite code creating the weirdness when accessing the site from CloudFlare (either that or a completely different issue :-p)

    Visiting the site from direct.mydomain.com (basically just a virtual host to mydomain.com which bypasses cloudflare and hits my server directly), the content tab shows a completely different number of cache contents when I refresh than if I visit from mydomain.com.

    Example:

    From direct.mydomain.com:

    WP-Cache (32.99MB)
    503 Cached Pages
    154 Expired Pages

    WP-Super-Cache (0KB)
    0 Cached Pages
    0 Expired Pages

    From mydomain.com:

    WP-Cache (37.60MB)
    566 Cached Pages
    173 Expired Pages

    WP-Super-Cache (54.39MB)
    502 Cached Pages
    442 Expired Pages

    Thread Starter skippybosco

    (@skippybosco)

    Thanks for the responses guys.

    @ravanh: Late Init does not seem to change anything for me.

    @donncha: I ran debug with two loads of the sitemap.xml:

    First Request:

    01:11:43 /sitemap.xml supercache dir: /home/domain/public_html/wp-content/cache/supercache/domain.com/sitemap.xml/
    01:11:43 /sitemap.xml No wp-cache file exists. Must generate a new one.
    01:11:43 /sitemap.xml In WP Cache Phase 2
    01:11:43 /sitemap.xml Setting up WordPress actions
    01:11:43 /sitemap.xml Created output buffer
    01:11:45 /sitemap.xml Output buffer callback
    01:11:45 /sitemap.xml Supercache disabled: GET or feed detected or disabled by config.
    01:11:45 /sitemap.xml Writing non-gzipped buffer to wp-cache cache file.
    01:11:45 /sitemap.xml Renamed temp wp-cache file to /home/domain/public_html/wp-content/cache/wp-cache-d8d99752c11a1403b6cd78bb357c1552.html
    01:11:45 /sitemap.xml Sending buffer to browser
    01:11:45 /sitemap.xml wp_cache_shutdown_callback: collecting meta data.
    01:11:45 /sitemap.xml Writing meta file: /home/domain/public_html/wp-content/cache/meta/wp-cache-d8d99752c11a1403b6cd78bb357c1552.meta
    01:11:50 /sitemap.xml wp-cache file exists: /home/domain/public_html/wp-content/cache/wp-cache-d8d99752c11a1403b6cd78bb357c1552.html
    01:11:50 /sitemap.xml Serving wp-cache static file
    01:11:50 /sitemap.xml exit request

    Second Request:

    01:12:27 /sitemap.xml wp-cache file exists: /home/domain/public_html/wp-content/cache/wp-cache-d8d99752c11a1403b6cd78bb357c1552.html
    01:12:27 /sitemap.xml Serving wp-cache static file
    01:12:27 /sitemap.xml exit request

    Cache file was at a different location than I expected, probably because it is being cached, but not super cached.

    1. Is it possible to have the sitemap/feed files supercached?

    2. This is a great example of where it would be nice to be able to set different expiration dates for different types of content (https://www.ads-software.com/support/topic/different-expiration-times-for-different-types-of-content?replies=1). Posts may expire @ 300 sec whereas our sitemap files can live as long as 3600 sec.

    I had he XSLT stylesheet issue as well and can confirm that the development version corrected it.

    Thread Starter skippybosco

    (@skippybosco)

    Not a rush by any means. Once I get a little closer to needing it I’ll follow up with you.

    Regarding financial contribution. You have talent, I have money.. at the end of the day it all balances out ??

    Thread Starter skippybosco

    (@skippybosco)

    Thanks Gerald.

    Is this a hard time limitation or would a financial contribution help bump the priority. Thinking less of a one off donation and more of a “pay for this function” type contribution.

    Thread Starter skippybosco

    (@skippybosco)

    Hi Gerald, Thanks for the follow up.

    I have an “Enable API access” option for my Short Links settings as well as this sample python script they included in the help section:

    #!/usr/bin/python2.4
    #
    # Copyright 2008 Google Inc.
    #
    # Licensed under the Apache License, Version 2.0 (the 'License');
    # you may not use this file except in compliance with the License.
    # You may obtain a copy of the License at
    #
    #      https://www.apache.org/licenses/LICENSE-2.0
    #
    # Unless required by applicable law or agreed to in writing, software
    # distributed under the License is distributed on an 'AS IS' BASIS,
    # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    # See the License for the specific language governing permissions and
    # limitations under the License.
    
    """Example script.
    
       Connects to an installation of Google Short Links and submits an
       API request.
    
       Example commands:
         Get the details of the short link 'foo':
           python api_sample.py
               --details
               --server=shortlinks.example.com
               --hmac=foobar
               --email=anything
               --url=anything
               --shortcut_name=foo
         Create a new short link 'bar' that points to www.google.com and
         is owned by [email protected]:
           python api_sample.py
               --create
               --server=shortlinks.example.com
               --hmac=foobar
               [email protected]
               --url=https://www.google.com
               --shortcut_name=bar
         Create a new public HASHED short link that points to www.google.com and
         is owned by [email protected]:
           python api_sample.py
               --hash
               --server=shortlinks.example.com
               --hmac=foobar
               [email protected]
               --url=https://www.google.com
               --shortcut_name=anything
               --is_public
    """
    
    import base64
    import datetime
    import hmac
    import optparse
    import sha
    import sys
    import time
    import urllib
    import urllib2
    
    def make_request_uri(hostname, api_method, secret, **parameters):
      """Constructs a signed api request.
    
         Contains a miniature implementation of an oauth signing mechanism.
         Not complete, but enough for this use case.
    
      Args:
        hostname: the name of the domain that short links is installed at
        api_method: the api method to be called, like get_or_create_hash
        secret: the api (hmac) secret to be used
        parameters: additional arguments that should be passed to the api-method
      Returns:
        A signed URL that the short links server would understand.
      """
      # What is the url (without parameters)?
      base_url = 'https://%s/js/%s' % (hostname.lower(), api_method)
    
      # What is the base query string?
      parameters['oauth_signature_method'] = 'HMAC-SHA1'
      parameters['timestamp'] = str(
          time.mktime(datetime.datetime.now().timetuple()))
      param_array = [(k, v) for k, v in parameters.items()]
      param_array.sort()
      keyvals = ['%s=%s' % (urllib.quote(a, ''), urllib.quote(str(b), ''))
                 for a, b in param_array]
      unsecaped = '&'.join(keyvals)
      signature_base_string = 'GET&%s&%s' % (
          urllib.quote(base_url, ''), urllib.quote(unsecaped, ''))
    
      # Create oauth secret
      signature = urllib.quote(base64.b64encode(
          hmac.new(secret, signature_base_string, sha).digest()), '')
    
      # Return the result
      return '%s?%s&oauth_signature=%s' % (base_url, unsecaped, signature)
    
    def parse_options(argv):
      """Creates a parser that can evaluate commandline options."""
      parser = optparse.OptionParser(usage='%prog [options] [-- diff_options]')
      group = parser.add_option_group('Server options')
      group.add_option('-s', '--server', dest='server',
                       metavar='SERVER', default=None,
                       help='The name of the server we connect to, '
                       'like shortlinks.example.com')
      group.add_option('-H', '--hmac', dest='hmac',
                       metavar='SECRET', default=None,
                       help='The HMAC secret that provides API access')
      group = parser.add_option_group('Available commands')
      group.add_option('--hash', '--get_or_create_hash', action='store_const',
                       const='get_or_create_hash',
                       dest='action', help='Get or create a hashed short link')
      group.add_option('--details', '--get_details', action='store_const',
                       const='get_details',
                       dest='action', help='Get the details of a short link')
      group.add_option('--create', '--get_or_create_shortlink',
                       action='store_const',
                       const='get_or_create_shortlink',
                       dest='action', help='Get or create a regular short link')
      group = parser.add_option_group('Command details')
      group.add_option('-e', '--email', dest='email',
                       metavar='EMAIL', default=None,
                       help='Email of the owner of a short link')
      group.add_option('-u', '--url', dest='url',
                       metavar='URL', default=None,
                       help='Url of a short link')
      group.add_option('-n', '--shortcut_name', dest='shortcut_name',
                       metavar='SHORTCUT_NAME', default=None,
                       help='Name of the short link')
      group.add_option('--public', '--is_public', dest='is_public',
                       action='store_true', metavar='IS_PUBLIC', default=False,
                       help='Set to create a public short link')
      group.add_option('--dryrun', dest='dryrun', action='store_true',
                       metavar='DRYRUN', default=False,
                       help='Only perform a dry run, do not submit the action')
      return parser.parse_args(argv)
    
    def main():
      options = parse_options(sys.argv[1:])[0]
      for field in ('server', 'action', 'hmac', 'email', 'url', 'shortcut_name'):
        if getattr(options, field, None) is None:
          print '%s not set' % field
          return
      request_url = make_request_uri(
          options.server,
          options.action,
          options.hmac,
          user=options.email,
          url=options.url,
          shortcut=options.shortcut_name,
          is_public=str(options.is_public).lower())
      if options.dryrun:
        print 'Request URL is %s' % request_url
      else:
        print 'Connecting to %s...' % options.server
        print '(full request url is %s )' % request_url
        response = urllib2.urlopen(request_url)
        print 'result: %s' % response.read()
    
    if __name__ == '__main__':
      main()
    Thread Starter skippybosco

    (@skippybosco)

    Just tested the new version with Twitter follow. Great stuff. Thanks again!

    Forum: Fixing WordPress
    In reply to: APC Question

    @ravensfan: The Object Cache Backend or w3 Total Cache plugins are good places to start.

    Thread Starter skippybosco

    (@skippybosco)

    Just went back and forth with the dev team and it looks like they do not support this (native or via their API).

    If a button count is a pre-requisite for the WP Button platform that I’ll need to need to add it back in another way.

    Thread Starter skippybosco

    (@skippybosco)

    ok so I dug through the code a bit and it appears that you are awesome and are already including the vertical count for twitter as part of the button display.

    When I started testing with different browsers I found that it worked fine in IE and Chrome, but not FF.. a bit more digging and it turns out that AdBlocker is blocking the twitter counter for some odd reason with your plugin, but not with Tweet This, which I was using previously. Once I disabled it all worked well.

    Hopefully this helps someone else that runs up against this.

Viewing 15 replies - 16 through 30 (of 58 total)