Recent Updates Page 2 Toggle Comment Threads | Keyboard Shortcuts

  • Daniel Bachhuber 11:20 pm on October 17, 2012 Permalink | Reply

    Setting conditionals on a code by code basis was deployed to wpcom.

    @rinatkhaziev which of the other open v0.3 issues do you think we should tackle before shipping? It might be nice to get this out on Friday.

  • Daniel Bachhuber 1:05 am on October 16, 2012 Permalink | Reply
    Tags: logical operator,   

    Merged Justin’s pull request to set the logical operator on an ad code by ad code basis, and restored the previous behavior of the logical operator filter.

    The class-level logical operator will set the default value of the dropdown. If you change the dropdown, your change will be stored in the database and be the logical operator used for the ad code.

    Considering the following case though: I create three ad codes with OR as the logical operator because I don’t touch the dropdown, and then implement the filter to change the default to AND. Is it a usability issue not to change the first three ad codes too?

    I’m going to drop this on wpcom Wednesday and maybe we can ship v0.3 Thursday or Friday.

    • Rinat K 1:13 am on October 16, 2012 Permalink | Reply

      I don’t think it’s an issue, as long as we indicate that these three ad codes have “OR” behavior.

  • Daniel Bachhuber 12:21 am on October 16, 2012 Permalink | Reply
    Tags: workflow   

    Collapsed the develop branch onto master, and deleted it on Github. Create a feature branch please if the code you’re committing isn’t stable between commits.

  • Daniel Bachhuber 8:32 pm on October 11, 2012 Permalink | Reply
    Tags: website   

    I’ve created an #adcodemanager channel on Freenode if you guys would like to join. I also added a text widget to the sidebar with some details about the project.

    • Rinat K 8:55 pm on October 11, 2012 Permalink | Reply

      Haha I haven’t logged in IRC for 12 years πŸ˜€ But now i’m actually there

  • Rinat K 10:38 pm on September 27, 2012 Permalink | Reply  

    While I was working on mobile theme for localtv I hit a bump with the following use case:
    Ad server returns a chunk of HTML instead of injecting script into DOM, I also couldn’t make it as iframe source, since it’s just a chunk instead of full HTML documents. This led to a hack that @batmoo qualified as “pretty lame”: I make an ajax request that passes constructed URL to ajax action, that fetches remote URL and returns this piece of HTML.

    Not sure of the best solution, perhaps, adding another hook like “acm_output_callback” or something like this.

  • Daniel Bachhuber 1:48 pm on September 27, 2012 Permalink | Reply

    Posting @batmoo’s idea because I don’t think he’ll ever get around to it: it would be neat if Ad Code Manager could support more than one ad provider.

    • Mo Jangda 2:03 pm on September 27, 2012 Permalink | Reply

      Thank you for outing my laziness πŸ˜‰

      I want:

      do_action( 'acm_top_leaderboard' );

      to output any one of n ad codes from n ad providers and configurable via the admin.

      • Rinat K 3:40 am on October 26, 2012 Permalink | Reply

        Why would you use multiple providers? I mean you might want to, but this is kind of an edge case

  • Jeremy Felt 10:22 pm on August 24, 2012 Permalink | Reply  

    Trying to make it easier to understand how ACM could apply to various DFP (JS API) setups. I think I’ve wrapped my mind around a few ways to target things via DFP and I’m building up some sample scripts for each scenario. Is anything in this list crazy?

    1) The ad unit in the header template will always be ‘header_728x90’ (*sitewide*) and all targeting will be done via orders created in DFP based on unit/time/etc.

    2) The ad unit in the header template is more dynamic and could be called as ‘header_728x90’ or ‘header_alt_728x90’ or …, it is targeted via orders in DFP but needs to change depending on the view – home, category, single, etc…

    3) The ad unit in the header will always be ‘header_728x90’ (*sitewide*), but key/value pairs will be targeted via orders in DFP that should be included with the ad call depending on the page view – home, category, single, etc….

    4) Combo of 2 & 3

    I’ve started a gist here – – that I’m building out some more.

    One of the things that’s come up during this exploration is wondering how useful ACM is to somebody that is using scenario 1 above. Also, scenario 4 just scares me… πŸ™‚

    • Jeremy Felt 10:23 pm on August 24, 2012 Permalink | Reply

      Also, we need Markdown for P2 on here… πŸ˜‰

    • Rinat K 11:27 pm on August 24, 2012 Permalink | Reply

      When I did setup for DFP JS I just created the necessary slots and named them arbitary and matched slots with ad tag ids.

      One problem that I faced with DFP JS was .enableSingleRequest()
      If you defineSlot() 5 ad tags, but try to render only three of them, none will render properly. So I ended up commenting it out.

  • Rinat K 4:55 am on June 27, 2012 Permalink | Reply

    0.3 Ideas Brainstorming Post 

    The 0.2 branch is looking good, so let’s talk 0.3. I recalled some ideas that were floating around since 0.1, but were never actualized:

    • Configuration scanner: verify configuration checklist ( provider file is present, ACM_WP_List_Table columns are properly defined, ad code args are set correctly, there’s at least one tag id, etc)
    • Ad Code Preview: This should be probably a row action which either pops an overlay with previews or displays them inline
    • Configuration builder: this one might be an overkill( aka punt candidate or fuggedaboutit), but it would be nice to have some tool that would generate configuration filters. Basic worklow would look like: user chooses one of existing ad providers, and modify some of default settings. For an average user, who downloaded plugin and who doesn’t know much about PHP coding, an ability to visually configure Β  stuff would come in handy.

    What do you think on these points? Do you have any other ideas/solutions? I personally appreciate the idea of keeping things contained and not over-bloated, but users get confused over configuration. I mean, one have to define 5-10 filters to get things up and running. Β This could be a deal-breaker for some folks.

    • Jeremy Felt 6:39 pm on June 27, 2012 Permalink | Reply

      I like the idea behind a configuration scanner / preview. I think it may be useful to combine those two and possibly some other data in some way as part of an add on for Debug Bar that is included with ACM. This may make it a lot easier to debug ad issues without having to dig through source, etc.

      The configuration builder does seem a bit overkill, but I do think we need an easier way to explain ACM to a new developer. I think I’ve tried 3 different approaches in our team now and it’s taken several conversations to get minds wrapped around how it works. The big question is how to quickly apply ACM to a non standard DFP configuration.

      From an end user perspective, it would be cool if we could modify the input fields for each conditional either through filters or just by default. For example – If is_category() is selected as the conditional, a drop down list of existing categories would be more pleasant than a text field.

    • Jeremy Felt 10:31 pm on June 27, 2012 Permalink | Reply

      Another idea that just came up – allowing for multiple providers to coexist on a page.

      It seems doable now if you know provider 1 will always display in the header and provider 2 will always display in the sidebar, but I can’t find a way to hook in via filter and change that based on an ad_code_arg to allow for complete flexibility for the user.

      • Daniel Bachhuber 10:37 pm on June 27, 2012 Permalink | Reply

        allowing for multiple providers to coexist on a page.

        This seems like an awesome improvement. File an issue πŸ™‚

    • Daniel Bachhuber 10:38 pm on June 27, 2012 Permalink | Reply

      I think a configuration scanner would be a great feature for v0.3. We could probably stick to one large feature per release to keep our release cycles reasonable (do what I say not what I do).

      • Rinat K 9:30 am on June 28, 2012 Permalink | Reply

        I went ahead and filed all the ideas. Feel free to tackle them πŸ˜€

    • David 9:01 am on September 18, 2012 Permalink | Reply

      Can I chime in here as a new to DFP (SB) and new to ACM user? It’s all confusing as hell. πŸ™‚

      Documentation, hand-holding and setup wizards would (I think) go a long way for better adoption. I’m trying to muddle my way through things with limited success. For example: what’s zone1? Never explained. It’s probably super-obvious to an experienced user but it’s never explicitly defined anywhere.

      All that said, this was/is obviously a lot of work so, thank you for creating it. If I can get this going I know it’ll make my life easier in the future.

      Where is the best place to post questions? Here, on the WP forum page?

  • Rinat K 4:08 am on June 27, 2012 Permalink | Reply

    Just tagged v0.2.3 on WPORG. Thanks y’all!

  • Daniel Bachhuber 11:56 pm on June 25, 2012 Permalink | Reply

    Synced over the extent of this commit to VIP (except the unit tests).

    If you could commit against an issue when you’re making improvements, it would be much appreciated. It’s much easier to refer to a series of commits this way πŸ™‚

    Thanks guys

    • Rinat K 4:25 am on June 26, 2012 Permalink | Reply

      @danielbachhuber I closed the outstanding issue and tagged 0.2.3 on github, wanted to push to WPORG but found out that I have no write privileges. So either give me a write or tag it yourself, please πŸ™‚

      • Daniel Bachhuber 7:30 pm on June 26, 2012 Permalink | Reply

        Sorry about that, I’ve given both you and @jeremyfelt commit access.

        When you tag the version, can you also remove the .js and .css files from jqGrid that are no longer in use? I’ve been unzipping the new version into the directory, which means changed files get updated and new files get added, but old files aren’t deleted…

        I’ve already removed the old files from the VIP repo.

        • Rinat K 8:44 pm on June 26, 2012 Permalink

          I found out that rsync comes in pretty handy in those situations

        • Rinat K 4:09 am on June 27, 2012 Permalink

          on the other hand, rm & svn rm are ok too πŸ™‚

        • Mo Jangda 4:11 am on June 27, 2012 Permalink

          rsync -rv --delete --exclude='.svn' /from /to
          cd /to
          svn status | grep '^!' | awk '{print $2}' | xargs svn rm
          svn status | grep '^?' | awk '{print $2}' | xargs svn add


        • Rinat K 4:14 am on June 27, 2012 Permalink

          Ha, glad that you’re still with us and thanks for the snippet πŸ™‚

        • Jeremy Felt 3:06 am on June 28, 2012 Permalink

          It should be known that Mo’s rsync comment made way for a beautiful addition to my local bash profile

Compose new post
Next post/Next comment
Previous post/Previous comment
Show/Hide comments
Go to top
Go to login
Show/Hide help
shift + esc